R 方
在前面,我们用 RSS 与 VAR 的比值来表示另一种拟合优度指标 R-squared。将分子和分母同时乘以 1/n,就得到一个数值等价的形式:即残差的方差与我们所建线性趋势在数据中的方差之比。这可以理解为模型"解释"了数据中多少方差的度量;与之对比的是,在去除线性趋势之后残差的离散程度或方差。
这里我们已经预先加载了数据 x_data、y_data,以及最佳拟合模型的预测 y_model;您的目标是计算 R-squared 指标,用以量化该线性模型对数据变异性的解释程度。

本练习是课程的一部分
Python 线性建模入门
练习说明
- 计算
residuals:用y_model减去y_data;计算deviations:用y_data的np.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(____))