本文作者:sukai

sas语言编程(sas编程技术教程第二版下载pdf)

sukai 01-20 98

  咱们的SAS矩阵交互语言IML就要完结了,本文将会用IML编一个回归程序。无论你需要一元的还是多元的回归模型,该程序都能计算出模型的系数、t检验以及t检验的p值、F检验以及F检验的P值、R2。

  本文会综合用到前面几节的内容(回复【SASIML】查看全部):

入门 | SAS里的平行世界

函数 | 函数玩一玩

编程 | IML的条件与循环

模块 | 5分钟懂模块

穿越 | 矩阵与数据集的穿越

作业 | 编一个SAS回归软件

  如果前面都没有看过,没关系,根据下面的代码提示,翻阅相关内容,可以把五集的内容过一遍。

  用SAS编一个回归软件 |

  【SAS Says · 扩展篇】IML:作业

  上次Ansta留给自己的作业是:

  Sashelp逻辑库中有一个关于GNP的数据sashelp.gnp,要求用1961、1962、1963三年的数据建立回归模型:

GNP = consump + invest

  用的变量有:

GNP-gross national product ($billions)

Consump-personal consumption expenditures

Invest-gross private domestic investment

  

  要求:给出系数、R2、t检验的p值。

  可以说,把这一道题弄明白了,基本前面几节的内容都掌握的差不对了。

  Part 1

  可爱的代码

  先把我自己的代码贴出来。

  

  

  我们再跑一边proc reg,对比两种方法的结果:

  datagnp_1963;

  setsashelp.gnp;

  if_n_ 17;

  keepgnp consump invest;

  proc reg;

  modelgnp= consump invest;

  run;

  IML跑出来的结果为:

  

  ProcReg跑出来的结果为:

  

  怎样?beta值、t值、F值、R2都是一样的吧!

  由于ProcReg的P值只给到0.0001,没有具体的数字,我用R也跑了一遍:

  

  T检验的P值,和我们用IML跑出来的也是一样的吧?

  这个例子用到了我们前面说的很多内容,我们还可以把第二步到最后的部分打包成一个模块regress,然后下次有其他数据回归的时候,直接调用即可——Run regress;

  Part 2

  理论的回忆

  有p元线性回归模型:

  

  记

  

  则p元线性回归模型简写为

  

  同时,有

  下面,我们就来对多元回归模型的拟合、检验过程进行推导:

一、系数的最小二乘拟合

  用最小二乘法估计参数b。记

  最小二乘法估计就是要选取使得

  因为H(b)是b0、b1、…、bp的非负二次式,且关于b0、b1、…、bp均可微,由微积分原理,b是下列方程的解:

sas语言编程(sas编程技术教程第二版下载pdf)

  

  下面先求出。因为

  对H(b) 求微商,得:

  令:-2X'y + 2X'Xb= 0

  得:X'Xb = X'y

  当存在时,b的最小二乘估计为

  预测向量就为:

二、回归模型的检验

  (1) 可决系数

  

  (2)F检验

  

  (3)t检验

  由于

  以Cii表示(X’X)-1上主对角线的第i个元素,于是参数估计量的方差为:

  因此,服从如下分布:

  其中σ2为随机误差项的方差,在实际计算时用它的估计量代替:

  

  因此对回归系数的t检验,就可以构造如下t统计量:

  

  当然…首先…你要明白什么是t检验…

  回归系数t检验的假设是beta=0,因此,在原假设成立的情况下,t统计量的值为:

  

  到此还没结束,因为这里有一个很重要的地方大家会忽略,就是α和α/2的问题,导致计算P值的时候容易出错。

  正常我们用查表法怎么判别?

  给定显著性水平α,查表得临界值,对比计算出来的t和;

  那么用P值法呢?

  计算出来的t,通过分布概率函数得到t对应的那个p/2,那么再乘以2,就是要求的P值了。

  投稿、发布招聘信息、合作,请加数说君个人微信AnselT,或Email:jiayounet@163.com,再或直接后台留言。

  数说工作室

大数据 云计算 高逼格

微信ID:shushuojun

长按二维码关注数说工作室

阅读
分享