精华内容
下载资源
问答
  • 多元统计分析多元线性回归的R语言实现多元统计分析--multivariate statistical analysis研究客观事物中多个变量之间相互依赖的统计规律性。或从数学上说, 如果个体的观测数据能表为 P维欧几里得空间的点,那么...

    多元统计分析之多元线性回归的R语言实现

    多元统计分析--multivariate statistical analysis

    研究客观事物中多个变量之间相互依赖的统计规律性。或从数学上说, 如果个体的观测数据能表为 P维欧几里得空间的点,那么这样的数据叫做多元数据,而分析多元数据的统计方法就叫做多元统计分析 。

    重要的多元统计分析方法有:多重回归分析、判别分析、聚类分析、主成分分析、对应分析、因子分析、典型相关分析、多元方差分析等。

    多元线性回归(普通最小二乘法)

    用来确定2个或2个以上变量间关系的统计分析方法。多元线性回归的基本的分析方法与一元线性回归方法是类似的,我们首先需要对选取多元数据集并定义数学模型,然后进行参数估计,对估计出来的参数进行显著性检验,残差分析,异常点检测,最后确定回归方程进行模型预测。(1)做个简单线性回归热热身

    women#使用自带的woman数据集

    73256c5d7cb5eb7f87086b59a6eee36e.png

    fit

    summary(fit)#展示拟合模型的详细信息

    f93a81ef002ab5822e7ee66fe145d423.png

    women$weight#列出真值

    fitted(fit)#列出拟合模型的预测值

    e0faf1b0472f636e172aa8712bda180a.png

    residuals(fit)#列出拟合模型的残差值

    coefficients(fit)#列出拟合模型的模型参数

    confint(fit)#列出拟合模型参数的置信区间

    anova(fit)#生成一个拟合模型的方差分析表,或者比较两个或更多拟合模型的方差分析表

    0f831a1975921a5cbbc98492840a245b.png

    vcov(fit)#列出拟合模型的协方差矩阵

    0a3d79292dc6282e3d0e0368f6c54b33.png

    par(mfrow=c(2,2))

    plot(fit)

    675e67d54477f104860cd83c14957059.png

    plot(women$height,women$weight,

         xlab="Height (in inches)",

         ylab="Weight (in pounds)")#生成观测,变量散点图

    abline(fit)#给散点图加上拟合曲线

    2fa029fce2461d7f0b16ed158834d30d.png

    (2)多项式回归

    fit2=lm(weight~height+I(height^2),data=women)#I(height^2)表示向预测等式添加一个平方项

    summary(fit2)

    plot(women$height,women$weight,

         xlab="Height (in inches)",

         ylab="Weight (in pounds)")

    lines(women$height,fitted(fit2))

    b02ba95c21a17fa09eb0e1934d43b829.png c7dbc2226bbf82ee55b5a47b379eaa7b.png

    fit3=lm(weight~height+I(height^2)+I(height^3),data=women)

    summary(fit3)

    lines(women$height,fitted(fit3),col="red")

    b43525dea3adb41fba3ffb197d84a8e3.png 87082649fe85ae4d3e19e86fbdd01fdc.png

    #使用car包的scatterplot()函数

    install.packages("car")

    library(car)

    library(carData)

    scatterplot(weight~height,data=women,

                spread=FALSE,smooth.args=list(lty=2),pch=19,

                main="Women Age 30-39",

                xlab="Height (in inches)",

                ylab="Weight (in pounds)")

    #该函数提供了身高与体重的散点图,线性拟合曲线以及平滑拟合曲线(loess),每个轴还展示了两个变量的箱线图。

    b313445f4f7457b14535b55d61cf481b.png

    (3)多元线性回归

    states

    cor(states)#检查一下各变量之间的相关性

    6c9f387aa09efadaaf3a72b327696939.png

    scatterplotMatrix(states,spread=FALSE,smooth.args=list(lty=2),pch=19,main="scatterplot matrix")

    #非对角线位置绘制变量间的散点图,并添加平滑和线性回归图

    #对角线区域绘制每个变量对应的密度图和轴须图

    ff72eb8cf2d8ab50fbcff97eb3ef7b62.png

    #使用lm函数进行没有交互项多元线性回归的拟合

    states

    fit=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    summary(fit)

    b52ccfdc2546bc10ff7ac0c02a18dcd6.png

    #使用lm函数进行有交互项多元线性回归的拟合

    fit

    summary(fit)

    e93a9eb6f4704bc44b9cb778134ea256.png

    交互项也是显著的,说明相应变量与其中一个预测变量之间的关系依赖于另一个预测变量。

    (4)回归诊断--常规方法

    fit

    par(mfrow=c(2,2))

    plot(fit)

    R vs F图:如果自变量和因变量线性相关,残差值和拟合值之间没有任何系统联系,如果是一条清楚的曲线,可能在暗示要在拟合的时候加上多次项

    正态QQ图:当自变量的值固定时,因变量应该成正态分布,残差值也应该是一个均值为0的正态分布,如果满足假设,图上的点应该都落在一条45度的直线上

    scale-location图:如果满足方差不变的假设,图中水平线周围的点应该随机分布

    Residuals vs leverage图:鉴别离群点,高杠杆值点,强影响点。

    675e67d54477f104860cd83c14957059.png

    加上多次项的拟合结果

    fit2

    par(mfrow=c(2,2))

    plot(fit2)

    879d9068a6b4f4cf39c1be79700947a5.png

    13和15是强影响点,可以去除强影响点。

    fit2

    再对数据集state.x77进行试验

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    fit=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    par(mfrow=c(2,2))

    plot(fit)

    3e4544349ac2010a33a21617181aa01b.png

    (5)回归诊断--改进方法

    library(car)

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    fit=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    par(mfrow=c(1,1))

    qqPlot(fit,labels=row.names(states),id.method="identify",simulate=TRUE,main="Q-Q Plot")

    states["Nevada",]

    fitted(fit)["Nevada"]

    residuals(fit)["Nevada"]

    rstudent(fit)["Nevada"]

    a1db86692e5eb2a2e6276dcd2136b67a.png c7614853096ffe75c77d2e1f7cda3bae.png

    学生化残差

    residplot

      z

      hist(z,breaks=nbreaks,freq=FALSE,

           xlab="Studentized Residual",

           main="Distribution of Errors")

      rug(jitter(z),col="brown")

     curve(dnorm(x,mean=mean(z),sd=sd(z)),add=TRUE,col="blue",lwd=2)

      lines(density(z)$x,density(z)$y,

            col="red",lwd=2,lty=2)

      legend("topright",

             legend=c("Normal Curve","Kernel Density Curve"),

             lty=1:2,col=c("blue","red"),cex=.8)

    }

    residplot(fit)

    c25bbd08dd5cf247c3e9e44a3a9aa732.png

    除了一个很明显的离群点,误差很好地服从了正态分布。

    误差的独立性

    durbinWatsonTest(fit)

    crPlots(fit)

    p值显著说明无自相关性,误差项之间独立。滞后项(lag=1)表明数据集中每个数据都是与其后一个数据进行比较。

    通过成分残差图可以看因变量和自变量之间是否成非线性关系。

    688dfebc360234a767c7fccc540f1880.png dc58e42a1e72c8b6bd2f120d55ec94f5.png

    同方差性

    ncvTest(fit)

    spreadLevelPlot(fit)

    分布水平图的点随机分布在直线的周围,如假设不正确,将看到曲线。

    下图说明P值不显著,满足方差不变假设

    d609d3435362504b718759ebe7f3c8e8.png

    线性模型假设的综合验证

    install.packages("gvlma")

    library(gvlma)

    gvmodel

    summary(gvmodel)

    下图表示P值都不显著,满足假设条件。

    5c49bb53a95f343fb597615aff0fd692.png

    多重共线性

    library(car)

    vif(fit)

    sqrt(vif(fit))#如果>2,表明存在多重共线性问题

    d5890fe2af78168a74c4e1dbebbda1fd.png

    (6)异常观测值

    a.离群点:预测效果不佳的观测,有很大的或正或负的残差值。正代表模型低估了响应值,负代表模型高估了响应值

    library(car)

    outlierTest(fit)

    返回值Nevada,P值小于0.05,判定为离群点。

           rstudent               unadjusted p-value     Bonferonni p

           Nevada 3.542929         0.00095088     0.047544

    b.高杠杆点:与其他变量相关的离群点

    hat.plot

      p

      n

      plot(hatvalues(fit),main="Index Plot of Hat Values")

      abline(h=c(2,3)*p/n,col="red",lty=2)

      identify(1:n,hatvalues(fit),names(hatvalues(fit)))

    }

    hat.plot(fit)

    5e41c6a6fdc0991d82b098e5d0f1a0d0.png

    c.强影响点:模型估计参数值影响有些比例失衡的点,方法是测量Cook距离,可通过变量添加图得出。

    一般来讲,Cook距离大于4/(n-k-1),表明是强影响点。

    n——样本量大小,K——预测变量数目

    cutoff

    plot(fit,which=4,cook,levels=cutoff)

    abline(h=cutoff,lty=2,col="red")

    下图中高于水平线的是强影响点

    d6de2a1b02945eb8095736f635ffe891.png

    d.变量添加图:三种点都可以显现出来

    library(car)

    avPlots(fit,ask=FALSE,id.method="identify")

    00ef59878d989f2c4b7f4d3a5a42e84f.png

    整合到一张图

    library(car)

    influencePlot(fit,id.method="identify",main="Influent Plot",

                  sub="Circle size is proportional to Cook's distance")

    纵坐标超过正负2的被认为是离群点,水平轴超过0.2或0.3的被认为是高杠杆点,圆圈大的被认为是强影响点。

    8d44b83dc3c51f0fa90d543607e26236.png

    (7)处理违背回归假设的问题

    a.删除变量:离群点和强影响点

    b.变量变换:当模型违反正态假设时

    library(car)

    summary(powerTransform(states$Murder))

    4ae3203ade0cd5dc426a1d48045c7e3e.png

    结果表明可以用Murder^0.6来正态化Murder,该函数使用极大似然法正态化变量

    library(car)

    boxTidwell(Murder~Population+Illiteracy,data=states)

               MLE of lambda  Score Statistic (z) Pr(>|z|)

    Population   0.86939             -0.3228   0.7468

    Illiteracy       1.35812              0.6194   0.5357

    iterations =  19 

    结果显示使用Population0.86939和Illiteracy1.35812可以大大改善线性关系。但对二者的记分检验又表明不会不需要变换。p值比较大。

    c.增删变量:改变模型的变量数目可以影响变量的拟合优度——多重共线的变量要删掉

    (8)选择最佳的回归模型

    a.模型比较:

    a1. anova()函数,需要模型嵌套

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    fit1=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    fit2=lm(Murder~Population+Illiteracy,data=states)

    anova(fit1,fit2)

    28adaeb8be5768a6a7d36dfdfabc182a.png

    anova将两个回归模型进行比较,p值(0.9939)不显著,所以不需要加到模型中。

    a2. AIC(赤池信息准则):考虑模型的统计拟合优度,AIC值小的要优先选择。

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    fit1=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    fit2=lm(Murder~Population+Illiteracy,data=states)

    AIC(fit1,fit2)

            df      AIC

    fit1  6   241.6429

    fit2  4   237.6565

    根据AIC值选择fit2,不需要模型嵌套。

    b.变量选择:

    b1. 逐步回归法:模型每次增加(向前)或者删除(向后)一个变量,直到达到某个判停条件为止。

    library(MASS)

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    fit=lm(Murder~Population+Illiteracy+Income+Frost,data=states)

    stepAIC(fit,direction = "backward")

    40a876967664111af635eb9f6176a7f8.png

    开始模型删除一个变量之后,AIC值降低,再删除一个变量之后,AIC值变低,最后剩下两个变量。弊端:不能找到最佳的

    b2. 全子集回归法:所有可能的模型都会被检验。

    install.packages("leaps")

    library(leaps)

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    leaps=regsubsets(Murder~Population+Illiteracy+Income+Frost,data=states,nbest=4)

    leaps

    plot(leaps,scale="adjr2")

    7e304e6ab60be3cd9b09d5c631c45d79.png

    图中的0.33表示截距项与income变量模型调整R平方0.33,可以看出截距项和P和I的调整模型R平方和最大,模型最佳

    or:

    library(car)

    subsets(leaps,statistic="cp",main="Cp Plot for All Subsets Regression")

    abline(1,1,lty=2,col="red")

    d0c0349844c925d836381f3fd5d189cd.png

    越好的模型离截距和斜率都为1的红线最近。

    (9)深层次分析

    a.交叉验证:最小二乘法的目的时预测误差(残差)平方和最小,响应变量解释度(R平方)最大化,交叉验证法可以评定该回归模型的泛化能力。

    定义:将一定的数据挑选出来作为训练样本,其他的数据作为保留样本,现在训练样本中做回归,再在保留样本中做预测

    install.packages("bootstrap")

    library(bootstrap)

    shrinkage

      require(bootstrap)

      theta.fit

        lsfit(x,y)

      }

      theta.predict

      x

      y

      results

      r2

      r2cv

      cat("Original R-square=",r2,"\n")

      cat(k,"Fold Cross-Validated R-square=",r2cv,"\n")

      cat("Change=",r2-r2cv,"\n")

    }

    states

    fit

    shrinkage(fit)

    结果:

    Original R-square= 0.5669502 

    10 Fold Cross-Validated R-square= 0.4642092 

    Change= 0.1027411 

    验证后的R值更客观,验证前过于乐观,R值较大。

    fit2

    shrinkage(fit2)

    验证前后R方变化不大,说明模型预测较为精确。

    b.相对重要性:比较标准化回归系数,表示当其他预测变量不变时,该预测变量一个标准差的变化可yying引起响应值的变化。

    在回归分析前,先将数据集用scale函数标准化为均值为0,标准差1的矩阵,再转化为数据框进行回归分析。

    states=as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

    zstates=as.data.frame(scale(states))

    zfit=lm(Murder~Population+Illiteracy+Income+Frost,data=ztates)

    coef(zfit)

    结果:

      (Intercept)    Population    Illiteracy        Income         Frost 

    -2.054026e-16  2.705095e-01  6.840496e-01  1.072372e-02  8.185407e-03 

    结果显示:人口和文盲率对谋杀率的影响很大,而Frost的影响率很小。

    c.相对权重法:将相对重要性看成是每个预测变量对R平方的贡献大小。

    relweight

      R

      nvar

      rxx

      rxy

      svd

      evec

      ev

      delta

      lambda

      lambdasq

      beta

      rsquare

      rawwgt

      import

      import

      row.names(import)

      names(import)

      import

      dotchart(import$Weights,labels = row.names(import),

               xlab="% of R-Square",pch=19,

               main="Relative Importance of Predictor Variables",

               sub=paste("Total R-Square=",round(rsquare,digit=3))

      )

    }

    states

    fit

    relweight(fit,col="grey")

    df64c82db953c3801711b61013dfa2ac.png

    结果显示,文盲率对谋杀率的影响最大,其次是结冰率。

    展开全文
  • 多元线性回归分析

    2021-08-07 20:34:33
    多元线性回归分析 回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而...

    多元线性回归分析

    回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。
    常见的回归分析有五类:线性回归、0‐1回归、定序回归、计数回归和生存回归,其划分的依据是因变量Y的类型。本讲主要学习线性回归。

    多元线性回归分析

    • 相关性
      通过回归分析,研究相关关。相关性不等于因果性
    • X
      X是用来解释Y的相关变量,所以X被称为自变量。
    • Y
      Y常常是我们需要研究的那个核心变量,称为因变量。

    数据的分类

    数据类型解释举例建模方法
    横截面数据在某一时点收集的不同对象的数据我们自己发放问卷得到的数据、全国各省份2018年GDP的数据、大一新生今年体测的得到的数据多元线性回归
    时间序列数据对同一对象在不同时间连续观察所取得的数据从出生到现在,你的体重的数据(每年生日称一次)、中国历年来GDP的数据、在某地方每隔一小时测得的温度数据移动平均、指数平滑、ARIMA、GARCH、VAR、协积
    面板数据横截面数据与时间序列数据综合起来的一种数据资源2008‐2018年,我国各省份GDP的数据固定效应和随机效应、静态面板和动态面板

    回归分析的分类

    类型模型Y的特点例子
    线性回归OLS、GLS(最小二乘)连续数值型变量GDP、产量、收入
    0-1回归logistic回归二值变量是否违约、是否得病
    定序回归probit定序回归定序变量等级评定(优良差)
    计数回归泊松回归(泊松分布)计数变量每分钟车流量
    生存回归Cox等比例风险回归生存变量(截断数据)企业、产品的寿命

    一元线性回归

    • 回归模型
      只涉及一个自变量的回归称为一元回归,描述两个具有线性关系的变量之间关系的方程称为回归模型,一元线性回归模型可表示为:
      y i = β 0 + β 1 x i + μ i y_i=\beta_0+\beta_1x_i+\mu_i yi=β0+β1xi+μi

    其中 μ \mu μ是被称为误差项的随机变量,反映了变量线性关系外的随机因素对y的影响。

    上式称为理论回归模型,对它有以下假定:

    • y与x之间具有线性关系;
    • x是非随机的,在重复抽样中,x的取值是固定的;
      以上2个假定表明,对于任何一个给定的x的值,y的取值都对应着一个分布,代表一条直线。但由于单个y是从y的分布中抽出来的,可能不在这条直线上,因此,必须包含一个误差项。
    • 误差项是一个期望值为0的随机变量,因此,对于一个给定的x值,y的期望 E ( y ) = β 0 + β 2 x E(y)=\beta_0+\beta_2x E(y)=β0+β2x值。
      • 对于所有的x, μ \mu μ的方差 σ \sigma σ都相同,这意味着对于一个给定的x值,y的方差都等于 σ 2 \sigma^2 σ2
      • 误差项是一个服从正态分布的随机变量,且独立。一个特定的x值所对应的与其他x值对应的不相关。对于任何一个给定的x值,y都服从期望值为 β 0 + β 1 x \beta_0+\beta_1x β0+β1x方差为 σ 2 \sigma^2 σ2的正态分布,不同的x值,y的期望值不同,但方差相同

    扰动项需要满足的条件
    y i = β 0 + β 1 x i + μ i y_i=\beta_0+\beta_1x_i+\mu_i yi=β0+β1xi+μi
    满足球型扰动项,即满足“同方差”和“无自相关”两个条件。
    在这里插入图片描述
    这里注意,横截面数据容易出现异方差的问题,时间序列数据容易出现自相关的问题。

    • 回归方程
      描述y的期望值如何依赖自变量x的方程称为回归方程,一元线性回归方程(误差项的期望值为0)的形式为:
      E ( y ) = β 0 + β 2 x E(y)=β_0+β_2x E(y)=β0+β2x
    • 估计的回归方程
      总体回归参数 β 0 β_0 β0 β 1 β_1 β1是未知的,需要用样本数据去估计。一元线性回归的估计的回归方程形式为:

    y ^ = β ^ 0 + β ^ 1 x \hat y=\hat\beta_0+\hat\beta_1x y^=β^0+β^1x

    • 对于“线性”的理解
      不要求严格的线性,只要有线性的形式即可。
      如下,都属于“线性”。
      在这里插入图片描述

    内生性的探究

    误差 μ \mu μ包含了所有与 y y y相关,但未添加到回归模型中的变量。如果这些变量和我们已经添加的自变量相关,则存在内生性。

    蒙特卡罗模拟

    %% 蒙特卡洛模拟:内生性会造成回归系数的巨大误差
    times = 300;  % 蒙特卡洛的次数
    R = zeros(times,1);  % 用来储存扰动项u和x1的相关系数
    K = zeros(times,1);  % 用来储存遗漏了x2之后,只用y对x1回归得到的回归系数
    for i = 1: times
        n = 30;  % 样本数据量为n
        x1 = -10+rand(n,1)*20;   % x1在-1010上均匀分布,大小为30*1
        u1 = normrnd(0,5,n,1) - rand(n,1);  % 随机生成一组随机数
        x2 = 0.3*x1 + u1;   % x2与x1的相关性不确定, 因为我们设定了x2要加上u1这个随机数
        % 这里的系数0.3我随便给的,没特殊的意义,你也可以改成其他的测试。
        u = normrnd(0,1,n,1);  % 扰动项u服从标准正态分布
        y = 0.5 + 2 * x1 + 5 * x2 + u ;  % 构造y
        k = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); % y = k*x1+b 回归估计出来的k
        K(i) = k;
        u = 5 * x2 + u;  % 因为我们回归中忽略了5*x2,所以扰动项要加上5*x2
        r = corrcoef(x1,u);  % 2*2的相关系数矩阵
        R(i) = r(2,1);
    end
    plot(R,K,'*')
    xlabel("x_1和u'的相关系数")
    
    ylabel("k的估计值")
    

    在这里插入图片描述
    表明x与 μ \mu μ关系越大,内生性越强。

    核心解释变量和控制变量

    无内生性(no endogeneity)要求所有解释变量均与扰动项不相关,这个条件一般很难达到,因此我们对于变量作以下两种分类
    核心解释变量:我们最感兴趣的变量,因此我们特别希望得到对其系数的一致估计(当样本容量无限增大时,收敛于待估计参数的真值 )。
    控制变量:我们可能对于这些变量本身并无太大兴趣。而之所以把它们也放入回归方程,主要是为了 “控制住” 那些对被解释变量有影响的遗漏因素。

    在实际应用中,我们只要保证核心解释变量与𝝁不相关即可。

    回归系数的解释

    一元线性回归

    y = a + b x + μ y=a+bx+\mu y=a+bx+μ
    β 0 ^ \hat{\beta_0} β0^ : 一般不考虑(所有变量都是0才有意义)

    β m ^ ( m = 1 , 2... k ) \hat{\beta_m}(m=1,2...k) βm^(m=1,2...k) :在控制了其他变量的情况下, x m i x_{mi} xmi每增加一个单位,对 y i y_i yi造成的变化。

    半对数模型1

    y = a + b l n x + μ y=a+blnx+\mu y=a+blnx+μ

    什么时候取对数

    • 与市场价值相关的,例如,价格、销售额、工资等都可以取对数;
    • 以年度量的变量,如受教育年限、工作经历等通常不取对数;
    • 比例变量,如失业率、参与率等,两者均可;
    • 变量取值必须是非负数,如果包含0,则可以对y取对数ln(1+y);

    取对数的好处

    • 减弱数据的异方差性
    • 如果变量本身不符合正态分布,取了对数后可能渐近服从正态分布
    • 模型形式的需要,让模型具有经济学意义
      x每增加1%,y平均变化b/100个单位。

    半对数模型2

    l n y = a + b x + μ lny=a+bx+\mu lny=a+bx+μ
    x每增加1个单位,y平均变化(100b)%。

    双对数模型

    l n y = a + b l r n x + μ lny=a+blrnx+\mu lny=a+blrnx+μ
    x每增加1%,y平均变化b%

    虚拟变量

    • 如果自变量中有定性变量,例如性别、地域等,在回归中转化为0-1表示
    • 为了避免完全多重共线性的影响,引入虚拟变量的个数一般是分类数减1。

    数据的描述性统计

    stata 实现

    • 定量数据summarize 变量1 变量2 ... 变量n
    • 定性数据tabulate 变量名,gen(A)
      返回对应的这个变量的频率分布表,并生成对应的虚拟变量(以A开头)。gen以后的不写也可以
      在这里插入图片描述
      • Freq 频数
      • Percent 频率
      • Cum 累积频率

    Excel实现

    在这里插入图片描述

    回归实现

    STATA语句 : regress y x1 x2 … xk

    • 默认使用的OLS:普通最小二乘估计法)
    • 如果假如虚拟变量 STATA会自动检测数据的完全多重共线性
    • 不带虚拟变量的
      在这里插入图片描述
      • Model + SS :SSR回归平方和
      • Residual +SS : SSE误差平方和
      • Total + SS :SST=SSR+SSE
      • df : 自由度
      • MS :ss/df
      • F&&Prob>F : 联合显著性检验。 H 0 : β 1 = β 2 = . . . β k = 0 H_0 : \beta_1=\beta_2=...\beta_k=0 H0:β1=β2=...βk=0
      • R 2 a n d a d j R 2 R^2 and adj R^2 R2andadjR2 :一般使用调整后的
      • _cons : 常数项
      • H 0 : β 1 = β 2 = . . . β k = 0 H_0 : \beta_1=\beta_2=...\beta_k=0 H0:β1=β2=...βk=0
    • 带虚拟变量的
      在这里插入图片描述
      避免多重共线性,把一个固定(为0), 其余的数值是与它作比较。

    拟合优度 R 2 R^2 R2较低怎么办

    • 回归分为解释型回归和预测型回归。
      预测型回归一般才会更看重 R 2 R^2 R2。解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著性即可。
    • 可以对模型进行调整,例如对数据取对数或者平方后再进行回归。
    • 数据中可能有存在异常值或者数据的分布极度不均匀。
    • 我们引入的自变量越多,拟合优度会变大。但我们倾向于使用调整后的拟合优度,如果新引入的自变量对SSE的减少程度特别少,那么调整后的拟合优度反而会减小。

    标准化回归

    标准化回归系数

    为了去除量纲的影响,我们可使用标准化回归系数
    对数据进行标准化,就是将原始数据减去它的均数后,再除以该变量的标准差,计算得到新的变量值,新变量构成的回归方程称为标准化回归方程,回归后相应可得到标准化回归系数。标准化系数的绝对值越大,说明对因变量的影响就越大(只关注显著的回归系数

    Stata标准化回归命令

    regress y x1 x2 … xk,beta
    bata可简写为b

    • 常数项没有标准化回归系数
      常数的均值是其本身,经过标准化后变成了0。
      -除了多了标准化回归系数 ,和之前的回归结果完全相同。
      对数据进行标准化处理不会影响回归系数的标准误,也不会影响显著性。

    异方差

    • 危害
      当扰动项存在异方差时 :
    • OLS估计出来的回归系数是无偏、一致的。
    • 假设检验无法使用(构造的统计量失效了)。
    • OLS估计量不再是最优线性无偏估计量(BLUE)。
    • 检验(by stata)
    \\在回归结束后运行命令:
    rvfplot \\(画残差与拟合值的散点图)
    rvpplot x \\(画残差与自变量x的散点图)
    estat hettest ,rhs iid\\异方差bp检验
    


    波动比较大,表示存在异方差

    • BP检验
      • 原假设 : 扰动项不存在异方差
      • 备选假设 :扰动项存在异方差
    • 解决方案
    1. 使用OLS + 稳健的标准误
      如果发现存在异方差,一 种处理方法是,仍然进行OLS 回归,但使用稳健标准误。只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所 有参数估计、假设检验均可照常进行。
      regress y x1 x2 … xk,robust
      在这里插入图片描述

    Stock and Watson (2011)推荐,在大多数情况下应该使用“OLS + 稳健标准误”。
    2. 广义最小二乘估计法GLS(有缺陷)

    原理:方差较小的数据包含的信息较多,我们可以给予信息量大的数据更大的权重(即方差较小的数据给予更大的权重)

    多重共线性

    多重线性回归,也即通过 X 1 X_1 X1 X 2 X_2 X2等多个自变量(解释变量)来构建线性回归模型预测因变量 Y Y Y。在多重线性回归中,当多个自变量之间存在 精确/高度 相关关系时,会导致回归系数难以估计/估计不准,这时就出现了共线性问题。

    • 检验多重共线性
      VIF,VarianceInflation Factor,方差膨胀因子。VIF指的是解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比,可以反映多重共线性导致的方差的增加程度
      V I F m VIF_m VIFm越大,说明第 m m m个变量和其他变量的相关性越大,回归模型的 V I F = m a x { V I F 1 , V I F 2 , . . . , V I F K } VIF=max\{VIF_1,VIF_2,...,VIF_K\} VIF=max{VIF1,VIF2,...,VIFK}
      一般 V I F > 10 VIF>10 VIF>10认为回归方程存在严重的多重共线性。
    \\Stata计算各自变量VIF的命令(在回归结束后使用):
    estat vif
    
    • 如果不关心具体的回归系数,而只关心整个方程预测被解释变量的能力,则通常可以 不必理会多重共线性(假设你的整个方程是显著的)。这是因为,多重共线性的主要后果是使得对单个变量的贡献估计不准,但所有变量的整体效应仍可以较准确地估计。
    • 如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,那么也可以不必理会。即使在有方差膨胀的情况下,这些系数依然显著;如果没有多重共线性,则只会更加显著。
    • 如果多重共线性影响到所关心变量的显著性,则需要增大样本容量,剔除导致严重共线性的变量(不要轻易删除,因为可能会有内生性的影响),或对模型设定进行修改。
    • 逐步回归分析
      • 向前逐步回归Forward selection:将自变量逐个引入模型,每引入一个自变量后都要进行检验,显著时才加入回归模型。
        (缺点:随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了,但是,并没有将其及时从回归方程中剔除掉。)
      • 向后逐步回归Backward elimination:与向前逐步回归相反,先将所有变量均放入模型,之后尝试将其中一个自变量从模型中剔除,看整个模型解释因变量的变异是否有显著变化,之后将最没有解释力的那个自变量剔除;此过程不断迭代,直到没有自变量符合剔除的条件。
        (缺点:一开始把全部变量都引入回归方程,这样计算量比较大。若对一些不重要的变量,一开始就不引入,这样就可以减少一些计算。当然这个缺点随着现在计算机的能力的提升,已经变得不算问题了)
      • Stata实现逐步回归法
      \\向前逐步回归Forward selection:
      stepwise regress y x1 x2 … xk, pe(#1)
      
      \\向后逐步回归Backward elimination:
      stepwise regress y x1 x2 … xk, pr(#2)
      
      
      • pe(#1) specifies the significance level for addition to the model; terms with p<#1 are eligible for addition(显著才加入模型中).
      • pr(#2) specifies the significance level for removal from the model; terms with p>= #2 are eligible for removal(不显著就剔除出模型)
    • 如果你筛选后的变量仍很多,可以减小#1或者#2;如果筛选后的变量太少了,可以增加#1或者#2。
    • x 1 x 2 … x k x_1 x_2 … x_k x1x2xk之间不能有完全多重共线性(和regress不同哦)
    • 可以在后面再加参数b和r,即标准化回归系数或稳健标准误
      -向前逐步回归和向后逐步回归的结果可能不同。
    • 不要轻易使用逐步回归分析,因为剔除了自变量后很有可能会产生新的问题,例如内生性问题。
    展开全文
  • matlab多元线性回归及显著性分析给各位高手:小弟有一些数据需要回归分析(非线性)及显著性检验(回归模型,次要项,误差及失拟项纯误差,F值和P值),求大侠帮助,给出程序,不胜感激。模型:DA TA=... %DA TA前三列...

    matlab多元非线性回归及显著性分析

    给各位高手:小弟有一些数据需要回归分析(非线性)及显著性检验(回归模型,次要项,误差及失拟项纯误差,F值和P值),求大侠帮助,给出程序,不胜感激。

    模型:

    DA TA=... %DA TA前三列是影响因子,第四列为响应值

    [2 130 75 48.61;

    2 110 75 56.43;

    2 130 45 61.32;

    2 110 45 65.28;

    1 110 45 55.80;

    1 130 75 45.65;

    1 110 75 50.91;

    1 130 45 67.94;

    1.5 120 60 74.15;

    1.5 120 60 71.28;

    1.5 120 60 77.95;

    1.5 120 60 74.16;

    1.5 120 60 75.20;

    1.5 120 85 35.65;

    1.5 140 60 48.66;

    1.5 120 30 74.10;

    1.5 100 60 6

    2.30;

    0.5 120 60 66.00;

    2.5 120 60 75.10];

    回归分析过程:

    (1)MATLAB编程步骤1:首先为非线性回归函数编程,程序存盘为user_function.m function y=user_function(beta,x)

    b0 = beta(1);

    b1 = beta(2);

    b2 = beta(3);

    b3 = beta(4);

    x0 = x(:,1);

    x1 = x(:,2);

    x2 = x(:,3);

    x3 = x(:,4);

    y=b0*x0+b1*x1.^2+b2*x2.^2+b3*x3.^2;

    (2)MATLAB编程步骤2:编写非线性回归主程序,程序运行时调用函数user_function

    x=[1 2 130 75 48.61;

    展开全文
  • 7.1 单因素方差分析 7.1.1 方差分析概念 7.1.2 单因素方差分析的数据结构 例7.1.1三种治疗方案对降血糖的疗效比较 7.1.3 单因素方差分析模型 7.2 双因素方差分析 7.2.2 双因素方差分析的数据结构 ...多元线性回归分析

    🚀【MOOC数学建模与实验---学习笔记---整理汇总表】🚀

    🌈【学习网址:MOOC---郑州轻工业大学---数学建模与实验】🌈

    目   录

    7.1 单因素方差分析

    7.1.1 方差分析概念

    7.1.2 单因素方差分析的数据结构

    例7.1.1  三种治疗方案对降血糖的疗效比较

    7.1.3 单因素方差分析模型

    定理7.1.1 总变异 = 组间变异 + 组内变异

    例7.1.1 Matlab求解

    7.2 双因素方差分析

    7.2.1 问题引入

    7.2.2 双因素方差分析的数据结构

    7.2.3 因素方差分析模型

    1. 无交互作用的双因素方差分析模型

    2. 有交互作用的双因素方差分析模型

    7.3 一元线性回归分析

    7.3.1 回归分析的概念

    相关关系的类型

    7.3.2 一元线性回归模型

    1.回归参数的估计

    2.回归模型的显著性检验

    3.回归参数的显著性检验

    7.3.3 一元线性回归分析应用

    7.4 多元线性回归分析

    7.4.1 多元线性回归模型

    多元线性回归分析内容

    7.4.2 回归参数的估计

    7.4.3 回归方程的拟合优度

    7.4.4 显著性检验

    1.模型的显著性检验

    2. 偏回归系数的显著性检验

    7.4.5 共线性诊断

    7.5 牙膏价格问题

    7.5.1 问题描述

    7.5.2 问题分析

    7.5.3 模型假设与符号

    7.5.4 模型建立与求解

    1.牙膏价格差对销售量影响模型

    2.广告费用对销售量影响模型

    3.牙膏价格差与广告费用对销售量影响模型

    4.模型改进

    7.5.5 结果分析

    7.6 方差分析与回归分析的SPSS实现

    7.6.1 SPSS软件概述

    1 SPSS版本与安装

    2 SPSS界面

    3 SPSS特点

    4 SPSS数据

    7.6.2 SPSS与方差分析

    1 单因素方差分析

    2 双因素方差分析

    7.6.3 SPSS与回归分析 

    SPSS回归分析过程

    牙膏价格问题的回归分析


    数学方法解决实际问题,应用数学方法、概念:应用 -> 理论 -> 研究


    常用数据分析统计方法:方差分析、回归分析、主成分分析、因子分析、聚类分析、判别分析...


    历年赛题方法(全国赛):

    • 2010B 上海世博会影响力的定量评估
    • 2012A 葡萄酒的评价(回归分析、关联性分析)
    • 2013A 车道被占用对城市道路通行能力的影响(回归分析)
    • 2017B “拍照赚钱”的任务定价(回归分析、聚类分析)

    主要内容:方差分析、回归分析

    1. 单因素方差分析
    2. 多因素方差分析
    3. 一元回归分析
    4. 多元回归分析

    7.1 单因素方差分析

    数据分析   统计模型:方差分析模型、回归分析模型、主成分分析模型、聚类分析模型、因子分析模型

    7.1.1 方差分析概念

    • 在工农业生产和科学研究中,经常遇到这样的问题:影响产品产量、质量的因素很多,我们需要了解在这众多的因素中,哪些因素对影响产品产量、质量有显著影响。为此,要先做试验,然后对测试的结果进行分析。方差分析(Analysis of Variance,简称ANOVA)就是分析测试结果的一种方法。                主要是多组实验数据比较所采用的方法
    • 方差分析是检验多组样本均值间的差异是否具有统计意义的一种方法。

    例如,医学界研究几种药物对某种疾病的疗效;农业研究土壤、肥料、日照时间等因素对某种农作物产量的影响;不同饲料对牲畜体重增长的效果等都可以使用方差分析方法去解决。

    7.1.2 单因素方差分析的数据结构

    • 若指标观测值X只受一个因素A的影响,检验A在取不同的状态或水平时,对指标值X的影响称为单因素试验
    • 观测值X称为因变量(响应变量),是连续型的数值变量。
    • 因素(Factor)A是影响因变量变化的客观条件。

    设因素A有r个水平,每个水平下重复观测n次(n:重复数),则观测数据为如下形式

       \overline{x_{i}}:第i行的平均值;\overline{x}:整个实验数据的算数平均值(总均值)

    例7.1.1  三种治疗方案对降血糖的疗效比较

    例7.1.1 某医生研究一种四类降糖新药的疗效,按完全随机设计方案治疗糖尿病患者,治疗一月后,记录下每名受试者血糖下降值,资料见下表,问三种治疗方案对降血糖的疗效是否相同?【No,第1组疗效显著高于另外两组!】

    每一组,18名受试验者。3个剂量水平,每个剂量水平 重复观测 18次(n=18)。比较均值!

    7.1.3 单因素方差分析模型

    • 方差分析是从总体上判断多组数据平均数(r≥3)之间的差异是否显著。
    • 方差分析将全部数据看成是一个整体,分析构成变量的变异原因,进而计算不同变异来源的总体方差的估值。然后进行F检验,判断各样本的总体平均数是否有显著差异。若差异显著,再对平均数进行两两之间的比较。

    假设检验:分析数据之间差异是否显著。

       i:代表水平;j:代表重复数

    x_{ij} = \mu _{i} + \varepsilon _{ij} : 观测值 = 治疗方案 + 随机因素

    \mu _{i} :反映第x种(x = 1\2\3)治疗方案的平均治疗水平。

     H0:原假设;各个水平下的均值相同

    H0:先假定不同水平下的均值是相等的;三种治疗方案之间是没有差异的。-> 利用 数据分析 进行检验(类似于 反证法)

    单因素方差分析法是将样本总偏差的平方和分解成两个平方和(因子平方和误差平方和),通过这两个平方和之间的比较,导出假设检验的统计量和拒绝域。

    总偏差平方和:所有数据的偏差平方和。(求和:每个观测值与总均值之间的差的平方。)

    因子平方和:比较各个水平(行)下,数据之间的差异。xi:第i个水平下的样本均值。每个水平下的均值与总均值的偏差平方和。

    误差平方和:各个组内的偏差平方和。每一行数据内部的偏差平方和。主要与 随机误差 有关。

    自由度:自由取值的变量个数。

    定理7.1.1 总变异 = 组间变异 + 组内变异

    ST:所有数据之间的差异(xij之间的差异越大,ST就越大)。

    x_{ij} = \mu _{i} + \varepsilon _{ij} :\mu _{i} (组间变异\不同治疗方案) + \varepsilon _{ij}(组内变异)

    H0:原假设(\mu _{1} = \mu _{2} = \mu _{3} = ... = \mu _{r}

    用“均方和”进行比较:消除自由度的影响。MSA、MSE进行比较:观察SA、SE哪个引起的误差偏大。

    如果,因子平方和 所占的比例较大:各个因子之间的差异较大;

    如果,误差平方和 所占的比例较大:数据之间的差异,主要由随机误差引起。

    数据量越多,随机因素多占的比例越大,ST越大,∴ 用均方和进行比较。

    F(f_{A}, f_{E}) :F分布(第一自由度, 第二自由度)

    第一自由度:(r-1)、(水平数-1)          第二自由度:(n-r)、(样本观测值的个数-水平数)

    H0不合理:SA占的比例越大,F越大,越拒绝原假设。

    一般,r ≥ 3   《概率论与数理统计》

    拒绝原假设(各个水平下的均值相等):各个水平下的均值 有 显著差异。P值越小(小于α)(α一般为0.05)

    例7.1.1 Matlab求解

    % 例7.1.1
    x = xlsread('C:\Users\lwx\Desktop\chapter7.xlsx','Sheet1','A1:C18') % 读取数据
    % 每个水平(列)下 观测值、重复数都是一样的 单因素误差分析:重复数一样的数据容易分析处理
    [p,table,stats] = anova1(x)

    图1:方差分析表        图2:均值盒形图    箱形图    红线:反映平均血糖下降值(第1个下降值最高)     

        

    n:[18 18 18]:样本量          s:残差均方           残差自由度:51       means:均值比较

    三列数据:三组治疗方案的治疗效果;18个测试者;行数:重复数。

    7.2 双因素方差分析

    7.2.1 问题引入

    在实际应用中,指标值(因变量)往往受多个不同因素的影响。不仅这些因素会影响指标值,而且这些因素的不同水平交叉也会影响指标值。统计学中把多个因素不同水平交叉对指标值的影响称为交互作用。在多因素方差分析中,交互作用作为一个新因素来处理。 这里介绍两个因素的方差分析,亦称为双因素方差分析

    7.2.2 双因素方差分析的数据结构

    • 假设在观测指标X的试验中,有两个变化因素A和B。因素A有r个水平,记作A1 ,A2 ,…,Ar;因素B有k个水平,记作B1 ,B2 ,…,Bk;则A 与B的不同水平组合A_{i}B_{j}(i=1,2,…,r;j=1,2,…,k)共有rk个,每个 水平组合称为一个处理,每个处理作m次试验(亦可1次试验),得rkm个观测值x_{ij},双因素的有重复(无重复)观测数据表7.2.2。

       交叉项:重复观测数

    A1、B1水平下,有m个观测值。

    7.2.3 因素方差分析模型

    1. 无交互作用的双因素方差分析模型

    在双因素方差分析中,若不考虑两因素的交互作用效应,数据可采用无重复观测

       类似于 单因素方差分析

    x11...xrk:交叉水平下的观测值。

    \overline{x_{i.}}:第i行的算数平均(代表因素A的各个水平下的样本平均值)

    \overline{x_{.j}}:第j列的算数平均(代表因素B的各个水平下的样本平均值,因素B的第j个水平下 数据的算数平均);

    \overline{x}:所有数据的算数平均(总算数平均值)。

     A_{i}:第i个水平下

    在无交互作用下,分析因素A,B的不同水平对试验结果是否有显著影响,即为检验如下假设是否成立:

     检验两组假设:假设因素A下,不同水平下的均值没有差异;假设因素B...

    类似单因素方差分析数据的处理,在上述定义下,无交互作用双因素方差分析模型中的平方和分解如下。

     m=1的情况。

    SA:不同行数据之间的差异,因素A的不同水平之间的差异;SB:不同列数据之间的差异。SE:随机误差平方和。

    检验两组假设:假设因素A下,不同水平下的均值没有差异;假设因素B...   -->   构造两个检验统计量。

     无交互作用的双因素方差分析

    在Matlab中进行双因素方差分析,采用命令

    [p, table, stats] = anova2(x,reps)

    reps:试验数据(每个交叉水平下)重复次数,缺省时为1。

    % 例7.2.1
    x = [365,350,343,340,323;345,368,363,330,333;
        358,232,353,343,308;288,280,298,260,298]'; % 不转置 也行
    [p,table,stats] = anova2(x)

      此图,表格数据有误。看matlab运行图,即可。

    P值越大,越不拒绝原假设。

    2. 有交互作用的双因素方差分析模型

    在数据分析种,不一定存在交互作用,但是可以通过数据处理来识别有没有交互作用。

    交叉水平下的重复数 m。l:交叉水平下的重复数。

    \overline{x_{i.}}:第i行的算数平均(代表因素A的各个水平下的样本平均值)

    \overline{x_{.j}}:第j列的算数平均(代表因素B的各个水平下的样本平均值,因素B的第j个水平下 数据的算数平均);

    \overline{x_{ij}}:因素A、B交叉水平下的平均值。

    存在交互作用的情况下,双因素方差分析需要检验如下假设

    原假设 H03:假设不存在交互作用。

    有交互作用的双因素方差分析

     重复观测、交互作用影响

    拒绝原假设(各个水平下的均值相等):各个水平下的均值 有 显著差异。P值越小(小于α)(α一般为0.05)

    P值大,不拒绝 原假设。

    % 例7.2.2
    x = [26,19;24,20;27,23;25,22;25,21;
        20,18;17,17;22,13;21,16;17,12];
    [p,table,stats] = anova2(x,5) % 5:每个交叉水平下的重复数

    7.3 一元线性回归分析

     在应用问题研究当中,如果涉及到变量与变量之间的分析,可以借助回归分析来进行研究。

    7.3.1 回归分析的概念

    研究变量间的关系常有两种。

    • 确定性关系函数关系

    如圆面积与圆半径的关系;价格一定时,商品销售额与销售量的关系等。

    • 相关关系

    如父亲与子女身高的关系;收入水平与受教育程度间的关系等。

    变量间的相关关系不能用完全确切的函数形式表示,但在平均意义下 有一定的定量关系表达式。研究总体(总体规律)

    相关关系的类型

       不相关:无明显相关关系

    回归分析(Regression Analysis)就是研究变量间的相关关系的统计方法,是英国生物学家兼统计学家高尔顿在研究父代与子代身高关系时得到的分析方法。

    通过对客观事物中变量的大量观察或试验获得的数据,寻找隐藏在数据背后的相关关系,并给出它们的表达形式——回归函数的估计。

    回归分析主要用于研究指标的估计和预测。

    通过数据分析,得到 回归表达式(回归函数),对变量进行估计、预测。

    设变量y与x(一维或多维)间有相关关系,称x为自变量(解释变量),y为因变量(被解释变量)。

    若x为一般变量,在获得x取值后,设y 的取值为一随机变量,可表示为

                                           y = f(x) + ε

    上式称为一般回归模型,其中ε称为随机误差项,一般假设 ε~N(0, \sigma ^{2})。正态分布

    7.3.2 一元线性回归模型

     r_{xy}:反映 x组数据与y组数据的线性相关程度。

    r_{xy} 越大,线性相关程度越强。            |r_{xy}| ≤ 1              

    一元线性回归分析内容

    (1)回归参数\beta _{0},\beta _{1},\sigma ^{2}的估计

    (2)回归模型的显著性检验

    (3)回归参数的显著性检验

    1.回归参数的估计

    yi:观测值          最小二乘法(参数估计、数据拟合)             \beta _{0}+\beta _{1}x_{i} :yi的回归值

     (7.3.3) 求导式

     \overline{x} , \overline{y}:x、y数据的样本均值

    2.回归模型的显著性检验

    在模型假定下,可以证明

    对模型(7.3.2)的显著性提出假设

          H0 : 回归方程不显著,H1 : 回归方程显著

    如果回归方程显著,意味着SSE应该比较小,F值应该比较大,所以在显著水平α下,当 F\geq F_{\alpha } (1,n-2)时,拒绝原假设,认为回归方程显著。

    3.回归参数的显著性检验

     t^2 = F

    MATLAB进行回归分析的命令为 regress,其调用方式为 [b,bint,r,rint,stats] = regress(y, x) ,其输出结果为

    • b :回归方程的系数
    • bint:回归方程系数的95%置信区间
    • r: 回归方程的残差
    • rint:残差的95%置信区间
    • stats: 可决系数R^{2}、模型检验F值、模型检验P值

    7.3.3 一元线性回归分析应用

    例7.3.1 为研究销售收入与广告费用支出之间的关系,某医药管理部门随机抽取20家药品生产企业,得到它们的年销售收入和广告费用支出(万元)的数据如下表。分析销售收入与广告费用之间的关系。

    分析 由表(1)可得模型检验F值为116.3958,P值非常小,即模型是显著的;由表(2)可得模型的决定系数R^{2} = 0.866067,接近于1,说明模型拟合效果较好;由表(3)可得回归方程的系数\beta _{0} = 274.5502,\beta _{1} = 5.1308,且参数\beta _{1}检验的P值较小,显著非零,则回归方程为

    根据得到的回归方程可进行因变量y的估计和预测。

    7.4 多元线性回归分析

    研究多个变量之间相关性的常用统计方法:多元线性回归分析。

    7.4.1 多元线性回归模型

    实际应用中影响因变量变化的因素往往有多个,例如产出受各种投入要素(资本、劳动力、技术等)的影响;销售额受价格和广告费投入等的影响。      研究 多个变量 影响 因变量的情况。

    回归模型中自变量(解释变量)个数为两个及两个以上时,即为多元回归模型

    多元线性回归模型的一般形式为

     (p=1:一元线性回归模型)

    • \beta _{1}\beta _{2},...,\beta _{p} 称为 偏回归系数              \beta _{0} :辅助作用,根据实际问题分析,选择是否保留。
    • β_{i}\beta _{i} 表示假定其他变量不变,当 xi 每变动一个单位时,y 的平均变动值。 

    多元线性回归分析内容

    1. 回归参数的估计
    2. 回归方程的拟合优度
    3. 显著性检验
    4. 共线性诊断

    7.4.2 回归参数的估计

    x_{np} :第p个自变量的观测值。

    yi的值 由 自变量xi的线性回归值、随机误差 \varepsilon_{i} 的值 所构成。

    Y:因变量构成的列向量;\beta:回归参数向量;\varepsilon:随机误差项构成的向量。

     偏导数 = 0

    7.4.3 回归方程的拟合优度

    7.4.4 显著性检验

    多元线性回归分析的显著性检验包括模型的显著性检验和各偏回归系数的显著性检验。

    1.模型的显著性检验

    2. 偏回归系数的显著性检验

    关于模型的显著性检验 不拒绝 原假设 时,模型是不显著的,此时 不必做 偏回归系数的显著性检验。

    7.4.5 共线性诊断

    多元线性回归分析中,要求回归模型(7.4.1)中自变量之间线性无关。若有两个或两个以上的自变量彼此相关,称模型存在多重共线性

    多重共线性产生的问题

    (1)可能会使回归的结果造成混乱,甚至会把分析引入歧途;

    (2)可能对参数估计值的正负号产生影响,特别是各回归系数的正负号有可能同预期的正负号相反 。

    检测多重共线性的最简单的一种办法是计算模型中各对自变量之间的相关系数,并对各相关系数进行显著性检验。若有一个或多个相关系数显著,就表示模型中所用的自变量之间相关,存在着多重共线性。

    如果出现下列情况,暗示存在多重共线性。(存在多重共线性,需要对模型进行修正)

    • 模型中各对自变量之间显著相关;
    • 当模型的线性关系检验(F检验)显著时,几乎所有回归系数的t检验却不显著;
    • 回归系数的正负号与预期的相反。

    7.5 牙膏价格问题

    7.5.1 问题描述

    某大型牙膏制造企业为了更好地拓展产品市场,有效地管理库存,公司董事会要求销售部门根据市场调查,找出公司生产的牙膏销 售量与销售价格、广告投入等因素之间的关系,从而预测出在不同价格和广告费用下的销售量。表7.5.1是30个销售周期(4周为1销售周期)中收集到的资料。试根据这些数据建立一个数学模型,分析牙膏的销售量与其它因素的关系,为制定价格策略和广告投入提供决策依据。

    7.5.2 问题分析

    1.牙膏价格与销售量

    由于牙膏是小件生活必需品,对大多数顾客来说,在购买同类产品的牙膏时更多地会在意不同品牌中间的价格差异,而不是他们的 价格本身。因此在研究各个因素对销售量的影响时,用价格差代替公司销售价格更为合适。

    通过分析其他厂家牙膏价格与本公司牙膏价格差对销售量的影响关系,建立价格差与销售量的相关模型。

    2.广告费用与销售量

    通过分析广告费用对销售量的影响关系,建立广告费用与销售 量的相关模型。

    7.5.3 模型假设与符号

    实际中,由于影响牙膏销售量的因素有很多,根据问题分析和相关数据,提出假设:

    (1)假设牙膏销售量主要受价格差和广告费用影响,即其它因素对销售量的影响归入随机误差。

    (2)令 y~本公司牙膏销售量;x_{1}~其它厂家牙膏价格与本公司牙膏价格差;x_{2}~本公司广告费用。x_{1}x_{2}对y的影响、建立模型。

    7.5.4 模型建立与求解

    1.牙膏价格差对销售量影响模型

     正相关的线性关系

    2.广告费用对销售量影响模型

       勉强接受:线性关系

    建立模型:多尝试,以合理性为前提,越简单越好。

    3.牙膏价格差与广告费用对销售量影响模型

    由(7.5.1)和(7.5.2),将常数项合并,随机误差项合并,且不考虑牙膏价格差与广告费用对销售量的交叉影响。可得牙膏价格差与广告 费用对销售量影响模型

                                     

    由数据进行回归分析,见表7.5.2

                                        

    4.模型改进

     只考虑 线性关系

    由表7.5.3回归结果可得,修正可决系数为0.874,模型显著性检验的p值为0,模型是显著的。并且各回归参数均显著非0,说明模型 有效,得到牙膏价格差与广告费用对销售量影响模型为

                                                         

    7.5.5 结果分析

                                                         

    由模型(7.5.5)可知,提高本公司牙膏价格,将会减少本公司牙膏销售量,例如,广告费不变时,本公司牙膏价格比其它厂家平均价格 提高1元,估计销售量将会减少约1.468百万支。

    另一方面,一定程度上,增加广告费用将会提高销售量,但过 度增加广告费用就会增加成本。

    根据模型(7.5.5),只要给定了x_{1}x_{2},代入就可以对销售量进行估计和预测,还可以进行一定的置信度下的区间预测。如当x_{1}=0.2,x_{2}=6.5时,可以计算得到销售量的预测值约为8.379(百万支),其95%的预测区间为[7.874, 8.863]。

    在公司管理中,这个预测上限可以用来作为公司的生产和库存数量;而这个预测下限可以用来较好地把握公司的现金流,因为到时至少有7.874百万支牙膏可以有把握的卖出去,可以回来相应的销售款。

    若考虑牙膏价格差与广告费用两个因素间可能会有交互作用,可以将二者的乘积x_{1}x_{2}来表示这个作用对销售量的影响,对原来的模型进行改进,

       

    同理,可对模型7.5.6进行回归分析,研究模型的有效性和显著性(略)。

    7.6 方差分析与回归分析的SPSS实现

    数据统计分析:Matlab、R、SPSS

    7.6.1 SPSS软件概述

    1 SPSS版本与安装

    SPSS的版本每年更新,当前最新为SPSS26.0,较新版本都有中文版,这里以2013年的SPSS22.0中文版为例介绍其安装及应用。

     数学建模【SPSS 下载、安装】

    2 SPSS界面

    SPSS的主要界面 有 数据编辑窗口 和 结果输出窗口。

    SPSS软件在其基本界面上集成了数据录入、转换、检索、统计分析、作图、制表及编辑等功能;采用类似EXCEL表格的方式输入与管理数据,数据接口较为通用,能方便的从其他数据库中读入数据。

    数据编辑窗口:标题栏、菜单栏、工具栏、状态栏、数据视图、变量视图

    控制菜单图标、窗口名称、窗口控制图标、窗口控制按钮

    变量视图

    3 SPSS特点

    • (1)囊括了各种成熟的统计方法与模型,为统计分析用户提供了全方位的统计学算法,为各种研究提供了相应的统计学方法。
    • (2)提供了各种数据准备与数据整理技术。
    • (3)自由灵活的表格功能。
    • (4)各种常用的统计学图形。

    SPSS最突出的特点就是操作界面极为友好,输出结果美观漂亮。SPSS是第一个采用人机交互界面的统计软件,非常容易学习和使用。

    SPSS软件基本操作可通过点击鼠标来完成,有一定统计基础且熟悉Windows一般操作的应用者参考它的帮助系统 基本上 可以自学使用;除了数据录入及部分命令程序等少数输入工作需要使用键盘键入外,对于常见的统计分析方法完全可以通过对“菜单”、“对话框”的操作完成,无需编程。

    4 SPSS数据

    SPSS能够与常用的数据文件格式互交。                  Excel文件

    SPSS数据文件中,变量有三种的基本类型:数值型、字符型和日期型。

    SPSS的文件类型:

    (1)数据文件:拓展名为.sav

    (2)结果文件:拓展名为.spv

    (3)图形文件:拓展名为.cht

    (4)语法文件:拓展名为.sps

    7.6.2 SPSS与方差分析

    【例7.1.1、例7.2.2 Excel文件:链接:https://pan.baidu.com/s/1PLXyYCelCfOGgMPbl7T2AA   提取码:zjxs】

    1 单因素方差分析

    生成数据:1、导入数据;2、手工录入

    54条数据:因变量(血糖下降值)记为A,分组变量(3个组别)记为g。Excel表中,第一行为变量名。

       

      数据视图
    变量视图

    单因素方差分析

      

       

    多重比较:将 各个水平下的均值 进行比较。Tukey:针对重复次数一样的多重比较。显著性水平 默认 0.05。

    左边:输出列表;右边:输出结果(概括性描述)。

    表2:方差极性检验(显著性-P值:0.871)   表3:方差分析表(因子平方和、误差平方和;总平方和)

     只要P值小于0.05,就认为 是有 显著差异的。

    根据多重比较的结果,进行分类得到的分类表。

      

    均值图                      1、2之间,有显著差异;2、3无显著差异。

    2 双因素方差分析

    【例7.1.1、例7.2.2 Excel文件:链接:https://pan.baidu.com/s/1PLXyYCelCfOGgMPbl7T2AA   提取码:zjxs】 

    双因素并且考虑交互作用的方差分析:将分析数据作为因变量指标;将时段、路段两个因素 建立 两个分组变量。

    将Excel表中的数据,导入SPSS。

       

    选择 “模型”:

        

       

    绘图

      -> 点击“添加”  ->   

    事后多重比较

    选项

        

      

        

        

    7.6.3 SPSS与回归分析 

    SPSS回归分析过程

    牙膏价格问题的回归分析

       

       

          

       

    表1:自变量、因变量、标准差...描述结果;表2:相关系数矩阵表---研究共线性;

    模型汇总统计量计算 Model Summary;ANOVA:回归分析的方差分析表;

    coefficients:回归系数估计

    不考虑x2(将x2从模型中去除!)

      

    展开全文
  • 这个是用来做多元线性分析的财政收入数据,一共有50组,影响因素选择了工业生产总值、GDP、社会商品零售总额等9个,因此数据为50*10(其中一维为财政收入),可以用来给同学们来作为多元线性回归分析的例子。
  • 多元线性回归分析理论详解及SPSS结果分析

    万次阅读 多人点赞 2017-05-17 16:23:23
    当影响因变量的因素是多个时候,这种一个变量同时多个变量的回归问题就是多元回归,分为:多元线性回归和多元非线性回归。这里直说多元线性回归。对比一元线性回归: 1.1多元回归模型: y=β0+β1x1+β2x2+…+β...
  • 能源是现代经济建设活动必须要素,通过对能源...本文通过多元线性回归模型对我国能源消耗影响因素进行分析、对比逐步回归法和岭回归法降低多重共线性、检验,最后得出结论,提出建议,以此为制订能源相关计划提供参考。
  • 线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜折扣等)预测就餐...
  • 机器学习算法(8)之多元线性回归分析理论详解

    万次阅读 多人点赞 2018-08-29 16:28:27
    前言:当影响因变量的因素是多个时候,这种一个变量同时多个变量的回归问题就是多元回归,分为:多元线性回归和多元非线性回归。线性回归(Linear regressions)和逻辑回归(Logistic regressions)是人们学习算法的第...
  • 依据50年(1954-2003)和田绿洲的气象资料,应用灰关联分析,发现影响绿洲蒸发能力的主要因子是相对湿度平均气温;在此基础上建立了回归模型。该模型模拟预测绿洲蒸发能力的变化精度较高,但需进一步改进。这种...
  • 多元线性回归分析 通过研究自变量 XXX 和因变量 YYY 的相关关系,尝试去解释 YYY 的形成机制,进而达到通过 XXX 去预测 YYY 的目的 。 文章目录(1) 回归分析的简介1. 相关性2. 因变量 YYY 3. 自变量 XXX 4. 回归...
  • 线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜折扣等)预测就餐...
  • 因子模型多元线性回归 import numpy as np import statsmodels.api as sm #生成随机数据 num_periods=9 all_values=np.array([np.random.random(8) for i in range(num_periods)]) y_values=all_values[:,0] x_...
  • 基于matlab的各种多元统计分析模型源代码-多元线性回归MultiLineReg.rar 本人为了获得更多资源共享的权限,只好吐血奉献自己一年来收集和改写的matlab源程序,部分为原创;里面包含有主成分分析、岭回归分析因子...
  • 19 多元线性回归与模型回归 标签:机器学习数据挖掘 1.调整R2R^2R2   对于R2R^2R2,只要添加入新的参数,它就会变大,不过这个变量有没有用。而我们采用调整R2调整R^2调整R2来使得公式对无用变量有所惩罚: Radj...
  • 方差分析三、多元线性回归建模四、模型优化 一、导入包及数据 1. 导入包 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt 2. 导入数据 df = pd.read_csv('house_...
  • 含气量是煤层气选区评价、储量计算和影响井产能的重要...基于沁水盆地郑庄区块10口煤层气井含气量的测试结果,应用多元统计分析方法结合主要影响因素,探讨各因素对含气量的影响关系,建立了含气量的多元回归预测模型
  • 现在用 Python 写线性回归的博客都快烂大街了,为什么还要用 SPSS 做线性回归呢?这就来说说 SPSS 存在的原因吧。 SPSS 是一个很强大的软件,不用编程,不用调参,点巴两下就出结果了,而且出来的大多是你想要的。...
  • 对t p>[t] F R^2 置信区间的值做出相应解释 因变量是新生儿体重birth weight 主题是产前护理及父母恶习对新生儿健康的影响 此外hypothesis假设应该...不过受制于原始数据,一般都不完美,回归的方程都这样鸟样,...
  • 导语:现在大多数人入门机器学习的第一个案例是多元线性回归模型,其中多元共线性这个问题将贯穿所有的机器学习模型。这里选用的经典房价预测用到的精度优化方法效果拔群,能提供比较好的参考价值,将会带大家讲解...
  • 转载, 太经典了,学习了 ...当因变量是非时间的连续性变量(自变量可包括连续性的和离散性的)时,欲研究变量之间的依存关系,多元线性回归分析是一个有力的研究工具。  多元回归分析的任务就是用数理统计方...
  • 在前面的博客已经介绍过多元回归模型,现在这里粗略介绍如下python 实现案例1、选取数据#!usr/bin/env python#_*_ coding:utf-8 _*_import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltimport...
  • 建模之多元线性回归分析

    千次阅读 2020-02-23 10:39:49
    1.回归分析用来研究变量X和Y之间的相关性 2.Y俗称因变量,即核心变量:连续数值型变量,0-1型变量,定序变量(数字代表了程度),计数变量(到访的次数),生存变量(年龄)。 X为解释变量,Y为被解释变量。 3.回归...
  • numpy - Python中的多元线性回归我似乎无法找到任何进行多重回归的python库。 我发现的唯一的东西只做简单的回归。 我需要对几个自变量(x1,x2,x3等)回归我的因变量(y)。例如,使用此数据:print 'y x1 x2 x3 ...
  • 为准确预测元宝山露天煤矿涌水量,提高煤矿生产安全系数,基于矿区多降雨量和煤炭产量实测数据,以降雨量和煤炭产量为涌水量影响因子,运用水文地质比拟法和多元线性回归分析法,分别建立矿区涌水量预测模型,通过对比...
  • 含ppt和WORD格式,包括多元线性回归,主成分分析因子分析、判别分析、聚类分析、均向量多元统计分析多元分析常用统计量均向量统计推断等等。。。。还包括某高手毕生精力总结的电脑技巧,难得总结。。。 详细:例...
  • 如何用R实现多元线性回归分析

    万次阅读 2017-03-08 11:45:59
    这里结合Statistical Learning和杜克大学的Data Analysis and Statistical Inference的章节以及《R语言实战》的OLS(Ordinary Least Square)回归模型章节来总结一下,诊断多元线性回归模型的操作分析步骤。...
  • SPSS多元线性回归结果分析

    万次阅读 多人点赞 2018-04-11 17:42:00
    对总回归方程进行F检验。显著性是sig。 结果的统计学意义,是结果真实程度(能够代表总体)的一种估计方法。专业上,p 值为结果可信程度的一个递减指标,p 值越大,我们越不能认为样本中变量的关联是 总体中各变量...
  • ##作业:分析影响中国人口自然增长的主要原因,并建立人口自然增长率各经济因子之间的多元回归模型,并对建立的模型进行统计检验(包括拟合优度、F检验、t 检验,并用多元逐步回归方法解决多重共性问题。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,612
精华内容 1,844
关键字:

多元线性回归模型与因子分析