r - 为什么我不断得到无效的 R 平方
问题描述
我尝试使用计算 R 平方的公式,但它们都给了我无效的 R 平方,要么是负数,要么大于 1。
我正在尝试使用 R 平方来评估我的模型拟合度。从而从预测值和实际值计算。
这是我的实际数据:
lasso_pred <- c(13.61946, 13.91595, 13.55052, 13.68006, 13.85825, 13.61735, 13.51712, 13.49727, 13.53181, 13.02560, 13.68658, 13.75073, 13.81856, 13.37798, 13.82558, 13.86672, 13.30965, 13.85373, 13.89834, 13.61562, 13.86353, 13.99774, 13.64185, 13.85063, 13.89282, 13.95036)
actual <- c(13.88986, 14.01917, 14.08782, 13.79533, 14.21647 ,14.18666, 13.84793, 14.02716 ,13.72207, 13.31198 ,13.99843,13.68277 ,13.81584, 13.81574, 14.24260 ,13.75368 ,13.71866 ,13.69617, 14.10187, 13.48185, 14.19855, 13.32519,13.61845, 13.81680, 13.94318, 14.09442)
SSE <- sum((lasso_pred - actual)^2) #sum of squares residual
SST <- sum((actual - mean(actual))^2) #total sum of squares
r2 <- 1-SSE/SST
SSR <- sum((lasso_pred- mean(actual))^2) #sum of squares regression
SST <- sum((actual - mean(actual))^2) #total sum of squares
r2 <- SSR/SST
计算的 R 平方不在 0 和 1 的范围内。
解决方案
R^2 通常不是负数,但有时预测值比简单平均值差。阅读本文了解更多
推荐阅读
- django - 在 Django 中更新 PostgreSQL 数据库索引
- visual-studio - 如何在 Visual Studio 包管理器中隐藏包
- java - java 编译器:找不到模块。如何检查模块分辨率?
- c++ - C++20 std::invocable 语法
- django - django 提供的音频文件无法正常工作
- python - 汇总来自 pandas 列的观察结果
- terraform - Terraform 每次应用都会销毁我的实例
- python - 在 matplotlib 中创建散点图的问题
- mailchimp-api-v3.0 - 如何使用 mailchimp API 获取用户信息?
- javascript - 使用 axios 从 React 前端检索数据时 req.body.title 返回 undefined