闲来无事,将线性回归效果检验的一些指标,自己复写一番,甚是自嗨;如有瑕疵,还请读者见谅。
公众号地址:
1539933606.png
一、 功能参数说明
*1 y_test 预测值
*2 y_true 真实值
*3 n 样本大小
*4 k 参数个数
二、核心功能函数以及公式
1 公式推导
2 核心函数实现
R2<-function(y_test, y_true){
return (1 - (sum((y_test - y_true)^2)/sum((y_true - mean(y_true))^2)) )
}
adjust_R2<-function(y_test, y_true,n,k){
return (1-(n-1)*(1-R2(y_test, y_true))/(n-k) )
}
F<-function(y_test, y_true,n,k){
sse=sum((y_test - y_true)^2)
ssT=sum((y_true - mean(y_true))^2)
return(((n-k)/(k-1))*((ssT-sse)/sse))
}
p<-function(y_test, y_true,n,k){
return(1-pf(F(y_test, y_true,n,k), df1=k-1, df2=n-k))
}
三、验证(与官方的输出结果进行对比)
x <- c(seq(0.10,0.18,by = 0.01),0.20,0.21,0.23)
y <- c(42.0,43.5,45.0,45.5,45.0,47.5,49.0,53.0,50.0,55.0,55.0,60.0)
lm.sol <- lm(y~1+x)
summary(lm.sol)
完美结束!!!
网友评论