Является ли взвешенный


19

Я оценил надежную линейную модель Rс весами ММ, используя rlm()пакет MASS. `R`` не предоставляет значение для модели, но я хотел бы иметь его, если это значимое количество. Мне также интересно знать, есть ли смысл иметь значение которое взвешивает общую и остаточную дисперсию так же, как взвешивания наблюдений в устойчивой регрессии. Мое общее мнение состоит в том, что, если для целей регрессии мы по существу имеем веса, дающие некоторым оценкам меньшее влияние, поскольку они в некотором смысле являются выбросами, то, возможно, для целей вычисления мы должны также дать те же оценки меньше влияют?р2р2р2

Я написал две простые функции для и взвешенного , они ниже. Я также включил результаты запуска этих функций для моей модели, которая называется HI9. РЕДАКТИРОВАТЬ: Я нашел веб-страницу Адель Костер из UNSW, которая дает формулу для этого, включает вектор весов при расчете обоих и так же, как я сделал, и попросил ее для более формальной ссылки: http: //web.maths. unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfFit.html (по-прежнему требуется помощь от Cross Validated о том, как интерпретировать это взвешенное значение )р2р2R2SSeSStр2

#I used this function to calculate a basic r-squared from the robust linear model
r2 <- function(x){  
+ SSe <- sum((x$resid)^2);  
+ observed <- x$resid+x$fitted;  
+ SSt <- sum((observed-mean(observed))^2);  
+ value <- 1-SSe/SSt;  
+ return(value);  
+ }  
r2(HI9)  
[1] 0.2061147

#I used this function to calculate a weighted r-squared from the robust linear model
> r2ww <- function(x){
+ SSe <- sum((x$w*x$resid)^2); #the residual sum of squares is weighted
+ observed <- x$resid+x$fitted;
+ SSt <- sum((x$w*(observed-mean(observed)))^2); #the total sum of squares is weighted      
+ value <- 1-SSe/SSt;
+ return(value);
+ }
 > r2ww(HI9)
[1] 0.7716264

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


поместите веса в lm () и возьмите оттуда r-квадрат (зачем заново изобретать колесо?)
user603

1
спасибо за совет о том, как сделать то, что я сделал более эффективно. Кто-нибудь может прокомментировать значение взвешенного г-квадрата, которое я описал / предложил?
КрейгМиллиган

@ user603: Как бы вы на самом деле поместили веса в lm ()?
histelheim

Просто для комплимента, взвешенный наименьший квадрат, помещенный в R, минимизирует сумму (w * e ^ 2), где e - остаток. Так что для вашего вычислительного кода весь вес w должен быть взят квадратным корнем.
Юаньхао Лай

Я хочу подчеркнуть, что мы не должны принимать взвешенное среднее значение, по крайней мере, я считаю, что, поскольку написанная мною программа дает r-квадрат, близкий к 1 с: классический r-квадрат, взвешенный r-квадрат, но НЕ с взвешенным r- в квадрате , где средний взвешиваются тоже, я считаю -6 это нелогичное , даже для меня, но я считаю , что опыт , хотя
Пьер

Ответы:


22

Следующий ответ основан на: (1) моей интерпретации Willett and Singer (1988). Еще одно предостерегающее примечание о R-квадрате: он используется в регрессионном анализе взвешенных наименьших сквотов. Американский статистик. 42 (3). pp236-238, и (2) предпосылка о том, что устойчивая линейная регрессия является по существу взвешенной регрессией наименьших квадратов с весами, оцененными итеративным процессом.

Формула, которую я дал в вопросе для r2w, нуждается в небольшой поправке, чтобы соответствовать уравнению 4 в Willet and Singer (1988) для r2wls: при расчете SSt также следует использовать взвешенное среднее:

the correction is SSt <- sum((x$w*observed-mean(x$w*observed))^2)].

В чем смысл этого (исправленного) взвешенного r-квадрата? Уиллетт и Сингер интерпретируют его как: «коэффициент детерминации в преобразованном [взвешенном] наборе данных. Это мера доли вариации в взвешенном Y, которая может быть учтена взвешенным X, и является величиной, которая выводится как R2 основными статистическими компьютерными пакетами, когда выполняется регрессия WLS ".

Имеет ли это смысл как мера подгонки? Это зависит от того, как оно представлено и интерпретировано. Виллетт и Сингер предупреждают, что он обычно немного выше r-квадрата, полученного при обычной регрессии наименьших квадратов, и высокое значение поощряет заметное отображение ... но это отображение может быть обманчивым, если оно интерпретируется в обычном смысле r -квадрат (как доля невзвешенныхвариация объясняется моделью). Виллетт и Зингер предполагают, что менее «обманчивой» альтернативой является pseudoR2wls (их уравнение 7), что эквивалентно моей функции r2 в первоначальном вопросе. В общем, Виллетт и Сингер также предупреждают, что не стоит полагаться на какой-либо r2 (даже на их псевдороли) в качестве единственной меры качества подгонки. Несмотря на эти предостережения, вся предпосылка устойчивой регрессии заключается в том, что некоторые случаи оцениваются как «не такие хорошие» и не учитывают столько при подборе модели, и может быть полезно отразить это в части процесса оценки модели. Взвешенный г-квадрат описано выше, может быть одна хорошая мера СОГЛАСИИ - до тех пор , как правильная интерпретация четко дано в представлении и не полагались в качестве единственной оценки критерия согласия.


1
(+1). Спасибо, что нашли время, чтобы поставить ответ.
user603

1

@CraigMilligan. Не должны:

  • вес должен быть вне квадратной скобки
  • средневзвешенное значение рассчитывается так, для которого мы также можем использоватьsum(x$w*observed)/sum(x$w)weighted.mean(observed,x$w)

Что-то вроде этого:

r2ww <- function(x){
  SSe <- sum(x$w*(x$resid)^2)
  observed <- x$resid+x$fitted
  SSt <- sum(x$w*(observed-weighted.mean(observed,x$w))^2)
  value <- 1-SSe/SSt;
  return(value);
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.