决定系数
决定系数(英语:coefficient of determination,记为R2或r2)在统计学中用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断统计模型的解释力。
对于简单线性回归而言,决定系数为样本相关系数的平方。当加入其他回归自变量后,决定系数相应地变为多重相关系数的平方。
mylr = function(x,y){
x_mean = mean(x)
y_mean = mean(y)
xy_mean = mean(x*y)
xx_mean = mean(x*x)
yy_mean = mean(y*y)
slope = (x_mean*y_mean - xy_mean)/(x_mean^2 - xx_mean)
intercept = y_mean - slope*x_mean
#f = slope*x+intercept #linear regression
f = x # custom linear regression
plot(x, y)
lines(x, f)
SStotal = sum((y-y_mean)^2)
SSres = sum((y-f)^2)
SSreg = sum((f-y_mean)^2)
R2 = 1 - (SSres/SStotal)
cor2 = cor(x, y)^2
result = c(slope, intercept, SSres, R2, cor2)
names(result) = c('slope', 'intercept', 'SSres', 'R2', 'cor2')
return(result)
}
x <- c(1,2,3,4,5,6,7,8,9,10)
y <- c(1,2,3,4,5,6,7,8,9,10)
z <- c(2,4,6,8,10,12,14,16,18,20)
w <- c(1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,11)
mylr(x,y)
mylr(x,z)
mylr(x,w)
LS0tCnRpdGxlOiAiRGV0ZXJtaW5hdGUgQ29lZmZpY2llbnQiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMjIyDlhrPlrprns7vmlbAKCuWGs+Wumuezu+aVsO+8iOiLseivre+8mmNvZWZmaWNpZW50IG9mIGRldGVybWluYXRpb27vvIzorrDkuLpSMuaIlnIy77yJ5Zyo57uf6K6h5a2m5Lit55So5LqO5bqm6YeP5Zug5Y+Y6YeP55qE5Y+Y5byC5Lit5Y+v55Sx6Ieq5Y+Y6YeP6Kej6YeK6YOo5YiG5omA5Y2g55qE5q+U5L6L77yM5Lul5q2k5p2l5Yik5pat57uf6K6h5qih5Z6L55qE6Kej6YeK5Yqb44CCCgrlr7nkuo7nroDljZXnur/mgKflm57lvZLogIzoqIDvvIzlhrPlrprns7vmlbDkuLrmoLfmnKznm7jlhbPns7vmlbDnmoTlubPmlrnjgILlvZPliqDlhaXlhbbku5blm57lvZLoh6rlj5jph4/lkI7vvIzlhrPlrprns7vmlbDnm7jlupTlnLDlj5jkuLrlpJrph43nm7jlhbPns7vmlbDnmoTlubPmlrnjgIIKCmBgYHtyfQpteWxyID0gZnVuY3Rpb24oeCx5KXsKICAKICB4X21lYW4gPSBtZWFuKHgpCiAgeV9tZWFuID0gbWVhbih5KQogIHh5X21lYW4gPSBtZWFuKHgqeSkKICB4eF9tZWFuID0gbWVhbih4KngpCiAgeXlfbWVhbiA9IG1lYW4oeSp5KQogIAogIHNsb3BlID0gKHhfbWVhbip5X21lYW4gLSB4eV9tZWFuKS8oeF9tZWFuXjIgLSB4eF9tZWFuKQogIGludGVyY2VwdCA9IHlfbWVhbiAtIHNsb3BlKnhfbWVhbgogIAogICNmID0gc2xvcGUqeCtpbnRlcmNlcHQgI2xpbmVhciByZWdyZXNzaW9uCiAgZiA9IHggIyBjdXN0b20gbGluZWFyIHJlZ3Jlc3Npb24KICBwbG90KHgsIHkpCiAgbGluZXMoeCwgZikKICAKICBTU3RvdGFsID0gc3VtKCh5LXlfbWVhbileMikKICBTU3JlcyA9IHN1bSgoeS1mKV4yKQogIFNTcmVnID0gc3VtKChmLXlfbWVhbileMikKICBSMiA9IDEgLSAoU1NyZXMvU1N0b3RhbCkKICBjb3IyID0gY29yKHgsIHkpXjIKICAKICByZXN1bHQgPSBjKHNsb3BlLCBpbnRlcmNlcHQsIFNTcmVzLCBSMiwgY29yMikKICBuYW1lcyhyZXN1bHQpID0gYygnc2xvcGUnLCAnaW50ZXJjZXB0JywgJ1NTcmVzJywgJ1IyJywgJ2NvcjInKQogIAogIHJldHVybihyZXN1bHQpCn0KCgp4IDwtIGMoMSwyLDMsNCw1LDYsNyw4LDksMTApCnkgPC0gYygxLDIsMyw0LDUsNiw3LDgsOSwxMCkKeiA8LSBjKDIsNCw2LDgsMTAsMTIsMTQsMTYsMTgsMjApCncgPC0gYygxLjEsMi4yLDMuMyw0LjQsNS41LDYuNiw3LjcsOC44LDkuOSwxMSkKCgpteWxyKHgseSkKbXlscih4LHopCm15bHIoeCx3KQoKYGBgCgoKIyMjIFJlZmVyZW5jZQoKW1doYXQgSXMgUiBTcXVhcmVkIEFuZCBOZWdhdGl2ZSBSIFNxdWFyZWRdKGh0dHA6Ly93d3cuZmFpcmx5bmVyZHkuY29tL3doYXQtaXMtci1zcXVhcmVkLykKClvlhrPlrprns7vmlbBSMuiDveWQpuS4uui0n+aVsO+8n10oaHR0cHM6Ly96aHVhbmxhbi56aGlodS5jb20vcC8xNDIxNjIzMzkpCgoKCg==