📜  毫升 |回归分析中的调整 R 方

📅  最后修改于: 2022-05-13 01:58:08.057000             🧑  作者: Mango

毫升 |回归分析中的调整 R 方

先决条件:线性回归,回归中的R平方

为什么调整 R 方检验:
R 方检验用于确定回归分析中的拟合优度。拟合优度意味着回归模型如何更好地拟合数据点。 r-square 的值越接近 1,模型越好。但问题在于,r-square 的值总是随着新变量(属性)添加到模型中而增加,无论新添加的属性是否对模型产生积极影响。此外,如果有很大的数字,它可能会导致模型过度拟合。的变量。

调整后的 r 平方是 r 平方的一种修改形式,如果新预测变量倾向于提高模型的性能,则其值会增加,如果新预测变量没有按预期提高性能,则其值会降低。

为了更好地理解,请考虑:
平均拟合线

最佳拟合线:



R平方公式:

显然,如果将新的预测变量添加到模型中,某些数据点的SS tot总是固定的,但是当模型试图从添加的预测变量中找到一些相关性时,SS res 的值会降低。因此,r-square 的值总是增加。

调整后的 R 方:

调整后的 R 方

在这里, k是编号。回归量, n是样本量。
如果新添加的变量足以提高模型的性能,那么它将压倒由于k造成的减少。否则, k 的增加将减少调整后的 r 平方值。

例子-

情况1:
import pandas as pd
import numpy as np
  
# Download dataset and add complete path of the dataset.
# Importing dataset
s = pd.read_csv('Salary_Data.csv')
  
  
# Used to standarise statsmodel in python
f = np.ones((30, 1))
s.insert(0, 'extra', f)
  
# Gives summary of data model->gives value of r-square and adjusted r-square
import statsmodels.formula.api as sm
X_opt = s.iloc[:, :-1]
Y1 = s.iloc[:, -1]
  
  
regressor_OLS = sm.OLS(endog = Y1, exog = X_opt).fit()
regressor_OLS.summary()

输出 :

汇总表

案例#2:

import pandas as pd
import numpy as np
  
# Download dataset and add complete path of the dataset.
# Importing dataset
s = pd.read_csv('Salary_Data.csv')
  
  
# Used to standarise statsmodel in python
f = np.ones((30, 1))
s.insert(0, 'extra', f)
  
# Inserting a new column to datset having employee ids
g =[]
for i in range(1, 31):
    g.append(i)
  
s.insert(2, 'Id', g)
  
  
# Gives summary of data model->gives value of r-square and adjusted r-square
import statsmodels.formula.api as sm
X_opt = s.iloc[:, :-1]
Y1 = s.iloc[:, -1]
  
  
regressor_OLS = sm.OLS(endog = Y1, exog = X_opt).fit()
regressor_OLS.summary()

输出 :

汇总表

解释 -
R 方值和调整 r 方值分别为 0.957、0.955。但是当Id时,这是一个不相关的属性,给出 r-square 和调整后的 r-square 等于
分别为 0.958、0.954。
因此,在数据集中添加不相关的属性时,r-square 的值会增加(从 0.957 到 0.958)。但调整后的 r 方值下降(从 0.955 到 0.954)。