美文网首页线性回归
线性回归的r方 调整r方 F值 P值计算公式(R语言实现)

线性回归的r方 调整r方 F值 P值计算公式(R语言实现)

作者: DataMining234 | 来源:发表于2018-10-19 14:40 被阅读30次

    闲来无事,将线性回归效果检验的一些指标,自己复写一番,甚是自嗨;如有瑕疵,还请读者见谅。
    公众号地址:


    1539933606.png

    一、 功能参数说明

    *1 y_test 预测值

    *2 y_true 真实值

    *3 n 样本大小

    *4 k 参数个数

    二、核心功能函数以及公式

    1 公式推导

    R^2=1-\frac{SSR}{SST}

    adjustR^2=1-\frac{(n-1)(1-R^2)}{n-k}

    F=\frac{\frac{SSR}{k}}{ \frac{SSE}{n-k-1} }

    SST=SSR+SSE

    SSR={\sum_1^n(y-\hat{y})^2}

    SST={\sum_1^n(y-\overline {y})^2}

    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)

    image

    完美结束!!!

    相关文章

      网友评论

        本文标题:线性回归的r方 调整r方 F值 P值计算公式(R语言实现)

        本文链接:https://www.haomeiwen.com/subject/siwyzftx.html