Статьи

Это Черт R-Squared

Еще один пост о коэффициенте R-квадрата и о том, почему после нескольких лет преподавания эконометрики я до сих пор ненавижу, когда студенты задают вопросы об этом. Обычно это начинается с « У меня _____ R-квадрат … не слишком ли мало? » Пожалуйста, не стесняйтесь заполнять пробелы своим любимым (низким) числом. Скажи 0,2. Для простоты есть разные ответы на этот вопрос:

  1. Если вы не хотите тратить время на изучение эконометрики, я бы сказал что-то вроде « Забудьте о R-квадрате, это бесполезно » (возможно, также « пожалуйста, подумайте дважды о прохождении этого курса эконометрики »)

  2. Если вы готовы потратить некоторое время, чтобы лучше понять тонкие понятия, я бы сказал: « Мне не нравится R-квадрат. Я могу быть интересным в некоторых редких случаях (вы, вероятно, можете сосчитать их по пальцам»). одним пальцем), как и сравнение двух моделей в одном наборе данных (даже в этом случае я бы рекомендовал скорректированный). Но обычно его значения не имеют значения. Вы можете сравнить 0,2 и 0,3 (и предпочитаете модель 0,3 R в квадрате, а не чем 0,2 R-квадрат), но 0,2 ничего не значит «. Ну, не совсем так, поскольку это что- то значит , но это не мера, которая говорит вам, имеете ли вы дело с  хорошей или  плохой моделью. Ну, опять же, не совсем так, но довольно сложно сказать, где кончается плохо , а где хорошоначинается. На самом деле, это в точности как коэффициент корреляции (ну, здесь нет ничего таинственного, поскольку R-квадрат может быть связан с некоторым коэффициентом корреляции, как упоминалось в классе)

  3. Если вам нужен более продвинутый совет, я бы сказал: « Это сложно … » (и, возможно, также « Посмотрите учебник, написанный кем-то более умным, чем я — вы можете найти сотни из них в библиотеке! »)

  4. Если вы хотите, чтобы я вел себя как люди, которых мы недавно видели по телевизору (во время политических речей): « Это чрезвычайно интересно, но прежде чем ответить на ваш вопрос, позвольте мне рассказать вам историю … »


Возможно, эта последняя стратегия — лучшая, и я должен сосредоточиться на истории.
Я имею в виду, именно поэтому у меня есть мой блог: рассказывать (хорошие) истории. С графиками и математическими формулами внутри. Прежде всего, рассмотрим модель регрессии


так что R-квадрат определяется как


Давайте сгенерируем наборы данных, а затем запустим регрессии, чтобы посмотреть, что происходит …

Например, рассмотрим 20 наблюдений, с одной интересующей переменной, одной объясняющей переменной и небольшим дисперсионным шумом (для начала)
 
> set.seed(1)
> n=20
> X=runif(n)
> E=rnorm(n)
> Y=2+5*X+E*.5
> base=data.frame(X,Y)
> reg=lm(Y~X,data=base)
> summary(reg)
 
Call:
lm(formula = Y ~ X, data = base)
 
Residuals:
Min       1Q   Median       3Q      Max
-1.15961 -0.17470  0.08719  0.29409  0.52719
 
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)   2.4706     0.2297   10.76 2.87e-09 ***
X             4.2042     0.3697   11.37 1.19e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
Residual standard error: 0.461 on 18 degrees of freedom
Multiple R-squared: 0.8778,	Adjusted R-squared: 0.871
F-statistic: 129.3 on 1 and 18 DF,  p-value: 1.192e-09 

R-квадрат высокий (почти 0,9). Что, если базовая модель точно такая же, но теперь шум имеет гораздо большую дисперсию?
> Y=2+5*X+E*4
> base=data.frame(X,Y)
> reg=lm(Y~X,data=base)
> summary(reg)
 
Call:
lm(formula = Y ~ X, data = base)
 
Residuals:
Min      1Q  Median      3Q     Max
-9.2769 -1.3976  0.6976  2.3527  4.2175
 
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)    5.765      1.837   3.138  0.00569 **
X             -1.367      2.957  -0.462  0.64953
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
Residual standard error: 3.688 on 18 degrees of freedom
Multiple R-squared: 0.01173,	Adjusted R-squared: -0.04318
F-statistic: 0.2136 on 1 and 18 DF,  p-value: 0.6495 

Теперь R-квадрат довольно низкий (около 0,01). Таким образом, качество регрессии явно зависит от дисперсии шума. Чем выше дисперсия, тем ниже R-квадрат. И обычно с этим мало что можно поделать! На графике ниже шум меняется от бесшумного до чрезвычайно шумного с регрессией наименьших квадратов синим цветом (и доверительным интервалом в прогнозе)

 

Если сравнить с приведенным ниже графиком, можно заметить, что качество подгонки зависит от размера выборки, теперь 100 наблюдений (вместо 20),

 

Пока что ничего нового (если вы помните, что было сказано в классе).
В этих двух случаях здесь представлена ​​эволюция R-квадрата в зависимости от дисперсии шума (точнее, здесь стандартное отклонение шума)

 

> S=seq(0,4,by=.2)
> R2=rep(NA,length(S))
> for(s in 1:length(S)){
+ Y=2+5*X+E*S[s]
+ base=data.frame(X,Y)
+ reg=lm(Y~X,data=base)
+ R2[s]=summary(reg)$r.squared}
 

 
 
 


с 20 абервациями в синем, 100 в черном.
Важным моментом является то, что в эконометрике мы редко выбираем количество наблюдений. Если у нас есть только 100 наблюдений, мы должны иметь дело с этим. Точно так же, если наблюдения довольно шумные, мы обычно ничего не можем с этим поделать. Тем более, если у вас нет какой-либо объясняющей переменной. Возможно, вы можете играть — или пытаться играть — с нелинейным эффектом …

Тем не менее, похоже, что некоторые эконометрики действительно заботятся о R-квадрате, и не могут себе представить, глядя на модель, если R-квадрат меньше, чем, скажем, 0,4. Всегда можно достичь этого уровня! вам просто нужно добавить больше ковариат! Если у вас есть. А если нет, то всегда можно использовать полиномы непрерывной переменной. Например, в предыдущем примере

 

> S=seq(1,25,by=1)
> R2=rep(NA,length(S))
> for(s in 1:length(S)){
+ reg=lm(Y~poly(X,degree=s),data=base)
+ R2[s]=summary(reg)$r.squared}

Если мы построим R-квадрат как функцию степени полиномиальной регрессии, мы получим следующий график. Еще раз, чем выше степень, тем больше ковариат и чем больше ковариат, тем выше R-квадрат,

 

 
 
 

Т.е. с 22 градусами можно достичь 0,4 R-квадрата.
Но это может быть интересно для прогноза, который мы имеем с этой моделью,
 

 
 


Так стоило ли добавлять столько полиномиальных частей?
Я имею в виду, что 22 довольно большая сила. Здесь линейная регрессия была значительной, но не большой. Ну и что? R-квадрат был маленький? Ну и что? Иногда с этим мало что можно поделать. При работе с индивидуальными наблюдениями (так называемые микроэкономические показатели) интересующая переменная может быть чрезвычайно шумной, и вы мало что можете сделать. Таким образом, ваш R-квадрат может быть маленьким, но регрессия, возможно, все же лучше, чем ничего не делать. Хорошая вещь с низким R-квадратом — то, что это напомнит нам, что мы должны оставаться скромными, когда мы строим модель. И всегда будьте осторожны с нашим выводом. Или, по крайней мере, обеспечить доверительный интервал.