Choix entre différentes régressions robustes dans R

8

J'écris un programme pour évaluer les biens immobiliers et je ne comprends pas vraiment les différences entre certains modèles de régression robustes, c'est pourquoi je ne sais pas lequel choisir.

J'ai essayé lmrob, ltsReget rlm. pour le même ensemble de données, les trois méthodes m'ont donné des valeurs différentes pour les coefficients.

Je pensais qu'il est préférable d'utiliser ltsRegparce que, summary(ltsReg())fournit des informations sur R-squaredet p-valuesce qui me aidera à décider si , au moment d' accepter ou de rejeter le modèle.

Pensez-vous que c'est ltsRegun bon choix?

EDIT: Je viens de lire sur les statistiques de qualité de l'ajustement que le R au carré ajusté est généralement le meilleur indicateur de l'ajustement de la qualité

Paul
la source
4
Les valeurs p et peuvent être trompeuses, donc choisir un package basé sur le fait qu'il les génère n'est pas vraiment un bon critère pour un tel choix ...R2
Tim
alors comment puis-je décider si le modèle est valide sans le tracer?
Paul
2
Envisagez également la régression ordinale car elle peut être plus robuste et interprétable et plus puissante.
Frank Harrell
@ user603: je le confirme. pour l'évaluation d'un bien immobilier, je crée plusieurs modèles, qui contiennent différents nombres de caractéristiques (ex: 1. prix ~ livingArea + floorNumber + age + ...).
Paul
2
Quelqu'un veut fermer cette question! Je ne pense pas que ce soit juste, même si en surface il s'agit de choisir des fonctions R, c'est vraiment de savoir comment et pourquoi choisir des méthodes de régression robustes, c'est-à-dire ontopiques.
kjetil b halvorsen

Réponses:

10

Dans la notation que j'utiliserai, sera le nombre de variables de conception (y compris le terme constant), le nombre d'observations avec (si cette dernière condition n'était pas remplie, le package n'aurait pas retourné d'ajustement mais une erreur, donc je suppose qu'elle est remplie). Je désignerai par le vecteur des coefficients estimés par FLTS ( ) et les coefficients estimés par MM ( ). J'écrirai également:pnn2p+1β^FLTSltsRegβ^MMlmrob

ri2(β^)=(yixiβ^)2

(ce sont les résidus au carré, pas ceux normalisés!)

La rlmfonction correspond à une estimation «M» de la régression et, comme la proposition de @Frank Harrell faite dans les commentaires à votre question, elle n'est pas robuste aux valeurs aberrantes sur l'espace de conception. La régression ordinale a un point de rupture (la proportion de vos données qui doit être remplacée par des valeurs aberrantes pour tirer les coefficients ajustés à des valeurs arbitraires) de essentiellement ce qui signifie qu'une seule valeur aberrante (indépendamment de !) Suffit pour rendre l'ajustement dénué de sens . Pour les estimations de régression M (par exemple la régression de Huber M), le point de rupture est essentiellement de . C'est un peu plus élevé, mais en pratique, il est toujours inconfortablement proche de 0 (car souvent sera grand). La seule conclusion que l'on puisse tirer de1/nn1/(p+1)prlmtrouver un ajustement différent des deux autres méthodes est qu'il a été influencé par des valeurs aberrantes de conception et qu'il doit y en avoir plus de dans votre ensemble de données.p+1

En revanche, les deux autres algorithmes sont beaucoup plus robustes: leur point de rupture est juste en dessous de et, surtout, ne rétrécit pas lorsque devient grand. Lorsque vous ajustez un modèle linéaire à l'aide d'une méthode robuste, vous supposez qu'au moins observations dans vos données ne sont pas contaminées. La tâche de ces deux algorithmes est de trouver ces observations et de les adapter au mieux. Plus précisément, si l'on note:1/2ph=(n+p+1)/2+1

HFLTS={i:ri2(β^FLTS)qh/n(ri2(β^FLTS))}HMM={i:ri2(β^MM)qh/n(ri2(β^MM))}

(où est le quantile du vecteur )qh/n(ri2(β^MM))h/nri2(β^MM)

alors ( ) essaie d'ajuster les observations avec des indices dans ( ).β^MMβ^FLTSHMMHFLTS

Le fait qu'il existe de grandes différences entre et indique que les deux algorithmes n'identifient pas le même ensemble d'observations que les valeurs aberrantes. Cela signifie qu'au moins l'un d'entre eux est influencé par les valeurs aberrantes. Dans ce cas, l'utilisation du (ajusté) ou de n'importe quelle statistique de l'un des deux ajustements pour décider lequel utiliser, bien qu'intuitif, est une idée terrible : les ajustements contaminés ont généralement des résidus plus petits que ceux propres (mais puisque la connaissance de c'est la raison pour laquelle on utilise des statistiques robustes en premier lieu, je suppose que l'OP en est bien conscient et que je n'ai pas besoin de m'étendre là-dessus).β^FLTSβ^MMR2

Les deux ajustements robustes donnent des résultats contradictoires et la question est celle qui est correcte? Une façon de résoudre ce problème consiste à considérer l'ensemble:

H+=HMMHFLTS

car , . De plus, si ou est exempt de valeurs aberrantes, . La solution que je propose exploite ce fait. Calculer:h[n/2]#{H+}pHMMHFLTSH+

D(H+,β^FLTS,β^MM)=iH+(ri2(β^FLTS)ri2(β^MM))

Par exemple, si , alors, correspond mieux aux bonnes observations que et je ferais donc plus confiance à . Et vice versa.D(H+,β^FLTS,β^MM)<0β^FLTSβ^MMβ^FLTS

user603
la source
1
+1. Je suppose que vous utilisez pour signifier arrondir à l'entier ou à la fonction de plancher . Je trouve cette dernière notation plus explicite. Il est facile de supposer que les lecteurs novices de cette notation pour l'arrondi des nombres entiers supposent que les crochets ne sont que des crochets. [  ]  
Nick Cox