【问题标题】:Function for adjusted Rsquare on test data? [closed]在测试数据上调整 R 平方的函数? [关闭]
【发布时间】:2020-02-14 21:21:31
【问题描述】:

w.r.t R/Rstudio 我知道有 RMSE 和 R2 函数,我可以利用它们来计算测试数据的 RMSE 和 Rsquare。测试数据上调整后的 R 平方是否有类似的功能?

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。目前还不清楚你在说什么类型的测试。
  • Base R 没有称为 R2 或 RMSE 的函数。你在使用一些图书馆吗?
  • 任何答案都取决于您使用的型号。您的数据没有 R 平方。
  • 诸如此类的问题需要包含代码和数据。

标签: r validation regression data-science


【解决方案1】:

您可以通过简单地...调整 R 平方来计算 任何 模型的调整后 R 平方。 公式可从Wikipedia 获得。

AdjR2 = 1 - (1 - R2) * (n-1) / (n-k-1)
其中 n = 点数
和 k = 模型中的变量数

这是一个简单的例子:

library(MASS)
data(Boston)

LM <- lm(medv~., data=Boston)
R2 = summary(LM)$r.squared
R2
dim(Boston)

summary(LM)$adj.r.squared
[1] 0.7337897

1 - (1 - R2)*(dim(Boston)[1]-1)/(dim(Boston)[1]-dim(Boston)[2])
[1] 0.7337897

【讨论】:

    【解决方案2】:

    假设您指的是从线性模型调整后的 R 平方,它可以从 summary.lm 的输出中提取。使用内置的 BOD data.frame 作为示例:

    s <- summary(lm(demand ~ Time, BOD))
    s$adj.r.squared
    ## [1] 0.5561503
    

    尝试str(s) 以几乎相同的方式查看您可以从summary.lm 获得的各种物品。

    【讨论】:

    • 谢谢。我在构建模型时确实使用了它。想要我可以在测试数据上使用。不用担心,我明白了
    【解决方案3】:

    R 中的一些基本函数将输出调整后的 R2。这仅取决于目标或背景是什么。例如,如果目标是使用lm() 函数计算线性模型的拟合,

    x <- rnorm( 10 )
    y <- rnorm( 10 )
    linear_model <- lm( y~x )
    summary( linear_model )
    

    输出将包括调整后的 R 方以拟合该线性模型:

    Call:
    lm(formula = y ~ x)
    
    Residuals:
        Min      1Q  Median      3Q     Max 
    -1.5876 -0.5203  0.1511  0.4593  1.1989 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)
    (Intercept)  -0.2018     0.2777  -0.727    0.488
    x            -0.4355     0.3696  -1.178    0.272
    
    Residual standard error: 0.8748 on 8 degrees of freedom
    Multiple R-squared:  0.1479,    Adjusted R-squared:  0.0414 
    F-statistic: 1.389 on 1 and 8 DF,  p-value: 0.2725
    

    但同样,此值仅供参考,用于将线性模型拟合到数据,并且只是说明R 可能会使用某些函数报告它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      • 2018-12-17
      • 2016-08-28
      • 1970-01-01
      • 2015-03-04
      • 2017-11-13
      • 1970-01-01
      相关资源
      最近更新 更多