楼主: jingju11
4222 10

[程序分享] Chow test in sas [推广有奖]

院士

30%

还不是VIP/贵宾

-

威望
3
论坛币
10965 个
通用积分
5.0758
学术水平
452 点
热心指数
463 点
信用等级
347 点
经验
75959 点
帖子
1937
精华
1
在线时间
3428 小时
注册时间
2009-5-22
最后登录
2020-1-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

因为如下的UCLA 网站里(http://www.ats.ucla.edu/stat/sas/faq/chow_test_proc_autoreg.htm

的chow test 有缺陷,所以想自己对此检验作些编程如下。欢迎建议。

京剧


http://blog.sina.com.cn/s/blog_a3a926360101imry.html


二维码

扫码加我 拉你入群

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

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

关键词:CHOW TEST Chow test CHO How 网站

沙发
firefox29 发表于 2014-3-5 23:07:51 |只看作者 |坛友微信交流群
不明觉厉,还有程序当中能不能加点解释,为什么这样写的逻辑...

使用道具

藤椅
jy1st 发表于 2014-8-30 11:56:06 |只看作者 |坛友微信交流群
楼主看到我啊。。。

用了UCLA的方法,很容易得到结果,但是需要自己填入第一组数据的样本数。

又试着用楼主的方法。得到下面ANOVA结果

Model

Dependent

Source

DF

SS

MS

FValue

ProbF

gr

all

capex

Model

12

3.60878

0.300732

86.54504

7.6E-207

all

capex

Error

13862

48.16848

0.003475

all

capex

Corrected Total

13874

51.77726

sub

capex

Model

12

1.747119

0.145593

38.07043

4.73E-87

hig

sub

capex

Error

6570

25.12574

0.003824

hig

sub

capex

Corrected Total

6582

26.87285

hig

sub

capex

Model

12

0.282139

0.023512

78.06683

4.6E-181

low

sub

capex

Error

7279

2.192237

0.000301

low

sub

capex

Corrected Total

7291

2.474377

low


接下来就是用公式计算F值,我就有困惑了。

NumDF =(&n1+&n2) -DF1;   *****这里的n1、n2分别指的是两组的样本数吧?DF1是13862?根据set &rn.ANOVA3(keep =Source DF SS &rn.grp where =(&rn.grp =. and Source ='Error') rename =(DF =DF1 SS =SS1));

我查到的资料说 NumDF = k + 1; where k is the number of slope parameters in the initial model. 那么其实就是自变量个数。楼主为什么要用两个分组的样本数之和减去没有分组的样本数呢?直接当source='model'时,取DF=12不可以?

楼主一定要看到我啊。。。谢谢谢谢!!!!!


使用道具

板凳
jingju11 发表于 2014-8-30 22:59:57 |只看作者 |坛友微信交流群
我的博客里,这里的 NumDF =(&n1+&n2) - DF1 = total N - DF(error) = DF(model) + 1 = K +1  for the combined sample model;
当然如你所说,也可以用DF(model) +1. 我为什么使用DF(error)呢?理由很简单。我把三个set 简单拷贝叠放在一起(all source ='ERROR'),书写非常简便。

by your example, that is (n1=6582+1) +(n2= 7291+1) - (DF(error)=13862)  = (DF(model)=12) + 1 = 13.
and Remember here , you need to use n1+n2 in the denominator DF eventually.
另外,UCLA的方法在breakpoint的选取上有错误(我认为)。 其结果和autoreg的结果有出入。
京剧

http://blog.sina.com.cn/s/blog_a3a926360101imry.html


使用道具

报纸
jy1st 发表于 2014-8-31 09:38:15 |只看作者 |坛友微信交流群
jingju11 发表于 2014-8-30 22:59
在我的博客里,这里的 NumDF =(&n1+&n2) - DF1 = total N - DF(error) = DF(model) + 1 = K +1  for the co ...
谢谢楼主的解答

使用道具

地板
jy1st 发表于 2014-8-31 09:47:26 |只看作者 |坛友微信交流群
我到三个set的地方报错了。

618        set ANOVA3(keep =Source DF SS gr where =(gr =. and Source ='Error') rename =(DF =DF1 SS
618! =SS1));
ERROR: WHERE clause operator requires compatible variables.

使用道具

7
jingju11 发表于 2014-8-31 10:35:11 |只看作者 |坛友微信交流群
Clearly your gr variable is a string somehow. my macro won't cause this error because the macro variable &rn.grp was controlled by the program, not self-defined.

Jingju

使用道具

8
jy1st 发表于 2014-9-1 09:50:12 |只看作者 |坛友微信交流群
jingju11 发表于 2014-8-31 10:35
Clearly your gr variable is a string somehow. my macro won't cause this error because the macro vari ...
就是这样的,已经修改好了,谢谢。

使用道具

9
jy1st 发表于 2014-9-1 10:16:46 |只看作者 |坛友微信交流群
jingju11 发表于 2014-8-30 22:59
在我的博客里,这里的 NumDF =(&n1+&n2) - DF1 = total N - DF(error) = DF(model) + 1 = K +1  for the co ...
再请教一下楼主,ANOVA结果的DF列里面的所有数值都是比实际值少了1,对吧?所以在求n1,n2时就都需要+1.

使用道具

10
jingju11 发表于 2014-9-1 21:53:03 |只看作者 |坛友微信交流群
jy1st 发表于 2014-9-1 10:16
再请教一下楼主,ANOVA结果的DF列里面的所有数值都是比实际值少了1,对吧?所以在求n1,n2时就都需要+1.
yes, the DF(correct total) = N -1. that is, reducing one by the intercept.
JingJu

http://blog.sina.com.cn/s/blog_a3a926360101imry.html

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-24 19:28