全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
7377 4
2010-04-18

各位版友:

我最近刚刚接触SAS 软件,感觉非常方便实用,但是在处理数据中遇到如下问题,实在不知道什么原因,在此向各位高手请教。总体说来,问题如下:
我使用一般线性回归中的最小二乘法(OLS)和广义线性模型中的泊松分布处理同一批数据,可是得到的结果却存在很大差异。现将数据及伯公回归程序放在附件中,希望高手或遇到过类似问题的版友给予解答,不胜感激!

联系方式: qzhang82@163.com   QQ: 631783080

因为最近正在处理数据,所以希望尽快解决该问题,希望各位版友不吝指教!
附件列表
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-4-18 22:39:49
若大家无法下载附件的话,我把附件的内容粘贴了过来,如下:

最近刚刚接触SAS 软件,感觉非常方便实用,但是在处理数据中遇到如下问题,实在不知道什么原因,在此向各位高手请教:
我使用一般线性回归中的最小二乘法(OLS)和广义线性模型中的泊松分布处理同一批数据,可是得到的结果却存在很大差异,数据如下(与以下程序中数据一致):

  使用OLS和泊松回归方法进行的一元一次和二次回归分析结果如下:
OLS一次P值  0.394
OLS一次R平方  0.033
OLS二次P值  0.003
OLS二次R平方  0.421
泊松一次P值  0.7594
泊松一次X平方  0.09
泊松二次P值  0.8351
泊松二次X平方  0.04       
                                               
希望高手可以告诉我出现如此大的结果差异的原因!
作为新手,我猜想了以下可能的情况:
1、泊松回归程序不正确。因为OLS得结果我拿 SPSS进行了验证,结果肯定正确,因此在此怀疑自己的泊松回归程序是否错误,现在把程序放上,请高手看下是否正确:
一次回归程序:
DATA poi;
         INPUT X C@@;
          CARDS;
64.79        11.00
59.90        11.00
59.72        11.00
48.29        9.00
54.87        9.00
61.46        11.00
63.20        10.00
65.16        10.00
44.36        8.00
55.09        10.00
76.48        9.00
56.17        12.00
65.82        13.00
79.66        9.00
47.51        10.00
44.33        9.00
60.20        10.00
54.58        9.00
59.42        11.00
51.43        10.00
51.25        11.00
57.54        10.00
49.51        10.00
73.52        10.00

run;
          PROC genmod date=poi;
          MODEL C=x/dist=poi link=log;
      run;


二次回归程序:
DATA poi;
         INPUT X C@@;
          CARDS;
64.79        11.00
59.90        11.00
59.72        11.00
48.29        9.00
54.87        9.00
61.46        11.00
63.20        10.00
65.16        10.00
44.36        8.00
55.09        10.00
76.48        9.00
56.17        12.00
65.82        13.00
79.66        9.00
47.51        10.00
44.33        9.00
60.20        10.00
54.58        9.00
59.42        11.00
51.43        10.00
51.25        11.00
57.54        10.00
49.51        10.00
73.52        10.00

run;
          PROC genmod date=poi;
          MODEL C=x*x/dist=poi link=log;
      run;
2、是否我这组数据分布情况只适合OLS或者泊松分布中的一种,因此两种回归结果差距如此巨大,如果是的话,到底哪个是正确的?为什么?
另外,是否是其他原因导致结果差异这么大?
请高手指教,不胜感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-18 22:56:21
期待明天早晨打开电脑,就能得到惊喜啊!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-19 09:35:49
你还需要学习很多的关于广义线性模型的知识。出现差异的原因有两个:
第一:在广义线性模型中,你使用的分布dis=有问题,这里应该选择dis=normal.
第二:同样,对应的link函数也有问题,应该是link=id
修改程序如下:

PROC genmod data=poi;
          MODEL C=x/dist=normal link=id;
run;

你再运行上面的程序,就会有和你用下面的一般线性回归结果一致:
PROC reg data=poi;
          MODEL C=x;
run;

另外,如果你认为分布不是正态而就是泊松,那么应该用下面的程序:
PROC genmod data=poi;
          MODEL C=x/dist=Poisson link=log;
run;
当然,你还可以拟和其他各种各样的数学模型,甚至根据业务需求自己开发一个good-of-fit最高的模型,denpend on your business requirement. that is it!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-19 15:30:35
感谢nkwilling 的帮助,让我受益匪浅!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群