Ajuste uma linha de regressão robusta usando um estimador MM em R

8

Contexto. Gostaria de ajustar uma linha de regressão para estudar a relação entre alguma variável de resposta e alguma covariável contínua . Devido à presença de pontos de alavancagem ruins, optei por um estimador de MM em vez do estimador de LS usual.yx

Metodologia. Basicamente, a estimativa MM é uma estimativa M inicializada por um estimador S. Portanto, duas funções de perda devem ser selecionadas. Eu escolhi a função de perda amplamente utilizada do Tukey Biweight

ρ(você)={1-[1-(vocêk)2]3E se |você|k1E se |você|>k,

com no estimador S preliminar (que fornece um ponto de ruptura igual a 50 \% ) e com k = 2,669 na etapa de estimativa M (para garantir 70 \% de eficiência gaussiana).k=1.54850.%k=2,69770%

Eu gostaria de usar R para ajustar minha linha de regressão robusta.

Questão.

library(MASS)
rlm(y~x, 
    method="MM",
    k0=1.548, c=2.697,
    maxit=50)
  • Meu código é consistente com o parágrafo anterior?
  • Você usaria outros argumentos opcionais?

EDITAR. Após minha discussão com Jason Morgan, percebo que meu código anterior está errado. (@ Jason Morgan: muito obrigado por isso!) No entanto, ainda não estou convencido por sua proposta. Em vez disso, aqui está o que proponho agora:

library(robustbase)
lmrob(y~x, 
      tuning.chi=1.548, tuning.psi=2.697)

Eu acho que adere à metodologia agora. Você concorda?

Obrigado!

ocram
fonte

Respostas:

5

Por padrão, a documentação indica que rlmusa psi=psi.huberpesos. Portanto, se você quiser usar o bisquare de Tukey, precisará especificar psi=psi.bisquare. As configurações padrão são psi.bisquare(u, c = 4.685, deriv = 0), que você pode alterar conforme desejado. Por exemplo, possivelmente algo como

rlm(x ~ y, method="MM", psi=psi.bisquare, maxit=50)

Você também pode investigar se deve usar quadrados com menos cortes ( init="lts") para inicializar seus valores iniciais. O padrão é usar menos quadrados.

Jason Morgan
fonte
@Janson Morgan: você tem certeza do que apresentou? Você tem alguma experiência com essa função? Minha documentação (R ​​2.13.1) na verdade indica "O conjunto inicial de coeficientes e a escala final são selecionados por um estimador S com k0 = 1,548; isso fornece (para n >> p) o ponto de ruptura 0,5. O estimador final é um Estimador M com o bi-peso de Tukey e a escala fixa que herdarão esse ponto de ruptura desde que c> k0; isso é verdadeiro para o valor padrão de c que corresponde a 95% de eficiência relativa no normal ".
Ocram
1
Estimei esses modelos no passado. Como declara a documentação, o primeiro passo na estimativa do MM é realizado com pesos Huber, o segundo com pesos biarticulados. Minhas anotações (de alguns anos atrás) afirmam que, na primeira etapa S, você pode empregar pesos bis-quadrados em vez de pesos Huber, se você especificar psiadequadamente. Eu provavelmente deixaria cno seu padrão para começar (vou modificar minha resposta de acordo).
Jason Morgan
1
Eu também uso rlm e uso a função psi bisquare por causa de sua propriedade redescendente. Às vezes, existem problemas de convergência, especialmente com amostras menores.
jbowman