Еще один пост о коэффициенте R-квадрата и о том, почему после нескольких лет преподавания эконометрики я до сих пор ненавижу, когда студенты задают вопросы об этом. Обычно это начинается с « У меня _____ R-квадрат … не слишком ли мало? » Пожалуйста, не стесняйтесь заполнять пробелы своим любимым (низким) числом. Скажи 0,2. Для простоты есть разные ответы на этот вопрос:
-
Если вы не хотите тратить время на изучение эконометрики, я бы сказал что-то вроде « Забудьте о R-квадрате, это бесполезно » (возможно, также « пожалуйста, подумайте дважды о прохождении этого курса эконометрики »)
-
Если вы готовы потратить некоторое время, чтобы лучше понять тонкие понятия, я бы сказал: « Мне не нравится R-квадрат. Я могу быть интересным в некоторых редких случаях (вы, вероятно, можете сосчитать их по пальцам»). одним пальцем), как и сравнение двух моделей в одном наборе данных (даже в этом случае я бы рекомендовал скорректированный). Но обычно его значения не имеют значения. Вы можете сравнить 0,2 и 0,3 (и предпочитаете модель 0,3 R в квадрате, а не чем 0,2 R-квадрат), но 0,2 ничего не значит «. Ну, не совсем так, поскольку это что- то значит , но это не мера, которая говорит вам, имеете ли вы дело с хорошей или плохой моделью. Ну, опять же, не совсем так, но довольно сложно сказать, где кончается плохо , а где хорошоначинается. На самом деле, это в точности как коэффициент корреляции (ну, здесь нет ничего таинственного, поскольку R-квадрат может быть связан с некоторым коэффициентом корреляции, как упоминалось в классе)
-
Если вам нужен более продвинутый совет, я бы сказал: « Это сложно … » (и, возможно, также « Посмотрите учебник, написанный кем-то более умным, чем я — вы можете найти сотни из них в библиотеке! »)
-
Если вы хотите, чтобы я вел себя как люди, которых мы недавно видели по телевизору (во время политических речей): « Это чрезвычайно интересно, но прежде чем ответить на ваш вопрос, позвольте мне рассказать вам историю … »
Возможно, эта последняя стратегия — лучшая, и я должен сосредоточиться на истории. Я имею в виду, именно поэтому у меня есть мой блог: рассказывать (хорошие) истории. С графиками и математическими формулами внутри. Прежде всего, рассмотрим модель регрессии
так что 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-квадратом — то, что это напомнит нам, что мы должны оставаться скромными, когда мы строим модель. И всегда будьте осторожны с нашим выводом. Или, по крайней мере, обеспечить доверительный интервал.