楼主: peijianshi
13154 8

关于决定系数R^2定义的一个问题(郁闷死了)? [推广有奖]

  • 0关注
  • 16粉丝

已卖:352份资源

副教授

80%

还不是VIP/贵宾

-

威望
0
论坛币
638 个
通用积分
2.3662
学术水平
12 点
热心指数
12 点
信用等级
5 点
经验
15373 点
帖子
636
精华
0
在线时间
568 小时
注册时间
2010-3-11
最后登录
2022-9-8

楼主
peijianshi 发表于 2010-11-27 11:38:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在线性回归中,

定义1:

SSx<-sum((x-mean(x))^2)
SSy<-sum(((y-mean(y)))^2)
SSxy<-sum((x-mean(x))*(y-mean(y)))

R^2=SSxy^2/(SSx*SSy)

定义2:

yhat表示因变量的理论值,

R^2=1-sum((y-yhat)^2)/SSy

我原本以为这两个定义的求解结果完全一致,8年来都这么认为,现在发现两者结果不一致,请高手告诉为什么会不一致呢?
二维码

扫码加我 拉你入群

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

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

关键词:线性回归 定义 系数

回帖推荐

tsclw 发表于5楼  查看完整内容

R^2=1-SSE/SST 若令M0=I-1/n*ii` 则利用X`e=0 可以推出R^2=cor(y,yhat)^2的结果。 然而如果X`e=0 R^2=cor(y,yhat)的结果就是有偏差的 因此,数据产生的偏差原因在于此。

rosenbloog 发表于2楼  查看完整内容

经验算,是一样的。你得到不一样的结果原因可能在于你所用的统计软件在计算方差或相关系数的时候,默认的小数点位数有限。例如stata算相关系数的时候就只有4位。那平方之后跟第二种方法算出来就稍有差异。这公式是没错的。你的R方公式过于复杂,给你一个简单的。R=corr(x,y)=corr(y,yhat)。

本帖被以下文库推荐

R万岁!

沙发
rosenbloog 发表于 2010-11-27 12:17:05
经验算,是一样的。你得到不一样的结果原因可能在于你所用的统计软件在计算方差或相关系数的时候,默认的小数点位数有限。例如stata算相关系数的时候就只有4位。那平方之后跟第二种方法算出来就稍有差异。这公式是没错的。你的R方公式过于复杂,给你一个简单的。R=corr(x,y)=corr(y,yhat)。
已有 1 人评分论坛币 收起 理由
yahoocom + 20 好的意见建议

总评分: 论坛币 + 20   查看全部评分

藤椅
peijianshi 发表于 2010-11-27 12:52:56
我使用的都是R,计算结果的确不一样,给你数据集,你自己试试就知道了。一个做出来的是0.5231816,两外一个结果是0.4466259。你给的公式只是针对前一种情况。

data<-scan("shidata.txt",list(t=0,k=0))
x<-data$t
y<-data$k
#a<-RMA(x,y)
#x<-seq(1,30)
#y<--25*x+300+rnorm(30,0,5)
SSy<-sum((y-mean(y))^2)
SSx<-sum((x-mean(x))^2)
SSxy<-sum((y-mean(y))*(x-mean(x)))
slope<--sqrt(SSy/SSx)
intercept<-mean(y)-slope*mean(x)
Rsquare<-SSxy^2/(SSx*SSy)
Rsquare
Rpf<-1-sum((intercept+slope*x-y)^2)/sum((y-mean(y))^2)
Rpf
cor(x,y)^2
已有 1 人评分论坛币 收起 理由
yahoocom + 20 好的意见建议

总评分: 论坛币 + 20   查看全部评分

R万岁!

板凳
peijianshi 发表于 2010-11-27 12:54:26
数据集见附件。

shidata.txt

693 Bytes

R万岁!

报纸
tsclw 发表于 2010-11-27 16:56:59
R^2=1-SSE/SST
若令M0=I-1/n*ii`
则利用X`e=0
可以推出R^2=cor(y,yhat)^2的结果。
然而如果X`e=0
R^2=cor(y,yhat)的结果就是有偏差的
因此,数据产生的偏差原因在于此。
已有 1 人评分论坛币 收起 理由
yahoocom + 20 好的意见建议

总评分: 论坛币 + 20   查看全部评分

地板
peijianshi 发表于 2010-11-29 12:27:37
抱歉!我还是没有完全看懂。

R^2=1-SSE/SST
若令M0=I-1/n*ii`
则利用X`e=0
可以推出R^2=cor(y,yhat)^2的结果。
然而如果X`e=0
R^2=cor(y,yhat)的结果就是有偏差的
因此,数据产生的偏差原因在于此。


是否是X'e (见红色字体)不等于0?
R万岁!

7
tsclw 发表于 2010-11-29 19:01:09
对,我写错了,不好意思。

8
kaka-he 在职认证  发表于 2010-11-29 21:08:37
在一元线性回归中,判定系数是相关系数的平方,多元回归就不是了。

9
peijianshi 发表于 2010-12-1 21:07:55
多谢了!
您还是比较专业的。
R万岁!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 16:36