开始使用免费开始使用

R 方

在前面,我们用 RSS 与 VAR 的比值来表示另一种拟合优度指标 R-squared。将分子和分母同时乘以 1/n,就得到一个数值等价的形式:即残差的方差与我们所建线性趋势在数据中的方差之比。这可以理解为模型"解释"了数据中多少方差的度量;与之对比的是,在去除线性趋势之后残差的离散程度或方差。

这里我们已经预先加载了数据 x_datay_data,以及最佳拟合模型的预测 y_model;您的目标是计算 R-squared 指标,用以量化该线性模型对数据变异性的解释程度。

本练习是课程的一部分

Python 线性建模入门

查看课程

练习说明

  • 计算 residuals:用 y_model 减去 y_data;计算 deviations:用 y_datanp.mean() 减去 y_data
  • 分别使用 np.mean()np.square() 计算 residuals 的方差与 deviations 的方差。
  • 计算 r_squared:用 1 减去比值 var_residuals / var_deviations,并打印结果。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
编辑并运行代码