Je fais une régression linéaire en utilisant la fonction R lm:
x = log(errors)
plot(x,y)
lm.result = lm(formula = y ~ x)
abline(lm.result, col="blue") # showing the "fit" in blue
mais ça ne va pas bien. Malheureusement, je ne peux pas comprendre le manuel.
Quelqu'un peut-il m'orienter dans la bonne direction pour mieux l'adapter?
En ajustant, je veux dire que je veux minimiser l'erreur quadratique moyenne (RMSE).
Edit : J'ai posté une question connexe (c'est le même problème) ici: Puis-je diminuer davantage le RMSE en fonction de cette fonctionnalité?
et les données brutes ici:
sauf que sur ce lien x est ce qu'on appelle des erreurs sur la page actuelle ici, et il y a moins d'échantillons (1000 vs 3000 dans le tracé de la page actuelle). Je voulais simplifier les choses dans l'autre question.
r
regression
Timothée HENRY
la source
la source
Réponses:
L'une des solutions les plus simples reconnaît que les changements parmi les probabilités qui sont faibles (comme 0,1) ou dont les compléments sont petits (comme 0,9) sont généralement plus significatifs et méritent plus de poids que les changements parmi les probabilités intermédiaires (comme 0,5).
Par exemple, un changement de 0,1 à 0,2 (a) double la probabilité tandis que (b) ne change la probabilité complémentaire que de 1/9 (en la faisant passer de 1-0,1 = 0,9 à 1-0,2 à 0,8), tandis qu'un changement de 0,5 à 0,6 (a) n'augmente la probabilité que de 20% tandis que (b) ne diminue la probabilité complémentaire que de 20%. Dans de nombreuses applications, ce premier changement est, ou du moins devrait être, considéré comme presque deux fois plus important que le second.
Dans toute situation où il serait tout aussi significatif d'utiliser une probabilité (que quelque chose se produise) ou son complément (c'est-à-dire la probabilité que quelque chose ne se produise pas), nous devons respecter cette symétrie.
Ces deux idées - de respecter la symétrie entre les probabilitésp et leurs compléments 1 - p et d'exprimer les changements relativement plutôt qu'absolument - suggèrent que lorsque l'on compare deux probabilitésp et p′ nous devrions suivre à la fois leurs ratios p′/ p et les ratios de leurs compléments ( 1 - p ) / ( 1 -p′) . Lors du suivi des ratios, il est plus simple d'utiliser des logarithmes, qui convertissent les ratios en différences. Ergo, un bon moyen d'exprimer une probabilitép à cet effet est d'utiliser
Ce raisonnement est assez général: il conduit à une bonne procédure initiale par défaut pour explorer tout ensemble de données impliquant des probabilités. (Il existe de meilleures méthodes disponibles, comme la régression de Poisson, lorsque les probabilités sont basées sur l'observation de ratios de «succès» par rapport au nombre d '«essais», car les probabilités basées sur plus d'essais ont été mesurées de manière plus fiable. Cela ne semble pas être le ici, où les probabilités sont basées sur des informations obtenues. On pourrait approcher l'approche de régression de Poisson en utilisant les moindres carrés pondérés dans l'exemple ci-dessous pour permettre des données plus ou moins fiables.)
Regardons un exemple.
Le nuage de points à gauche montre un ensemble de données (similaire à celui de la question) tracé en termes de cotes logarithmiques. La ligne rouge correspond à ses moindres carrés ordinaires. Il a un faibleR2 , indiquant beaucoup de dispersion et une forte "régression vers la moyenne": la droite de régression a une pente plus petite que l'axe principal de ce nuage de points elliptique. Il s'agit d'un cadre familier; il est facile à interpréter et à analyser en utilisant
R
lalm
fonction de ou l'équivalent.Le nuage de points à droite exprime les données en termes de probabilités, telles qu'elles ont été enregistrées à l'origine. Le même ajustement est tracé: il semble maintenant incurvé en raison de la manière non linéaire dont les cotes de log sont converties en probabilités.
Dans le sens de l'erreur quadratique moyenne en termes de cotes logarithmiques, cette courbe est la mieux adaptée.
Par ailleurs, la forme approximativement elliptique du nuage à gauche et la façon dont il suit la ligne des moindres carrés suggèrent que le modèle de régression des moindres carrés est raisonnable: les données peuvent être décrites de manière adéquate par une relation linéaire - à condition que les cotes logarithmiques soient utilisées - et la variation verticale autour de la ligne est à peu près de la même taille indépendamment de l'emplacement horizontal (homoscédasticité). (Il y a quelques valeurs anormalement basses au milieu qui pourraient mériter un examen plus approfondi.) Évaluez cela plus en détail en suivant le code ci-dessous avec la commande
plot(fit)
pour voir des diagnostics standard. Cela est à lui seul une bonne raison d'utiliser les cotes de log pour analyser ces données au lieu des probabilités.la source
Étant donné le biais dans les données avec x, la première chose évidente à faire est d'utiliser une régression logistique ( lien wiki ). Je suis donc avec whuber à ce sujet. Je dirai quex à lui seul montrera une forte signification mais n'expliquera pas la majeure partie de la déviance (l'équivalent de la somme totale des carrés dans un OLS). On pourrait donc suggérer qu'il existe une autre covariable en dehors dex qui facilite le pouvoir explicatif (par exemple, les personnes qui font la classification ou la méthode utilisée), Votre y les données sont déjà [0,1] cependant: savez-vous si elles représentent des probabilités ou des taux d'occurrence? Si c'est le cas, vous devriez essayer une régression logistique en utilisant votre non transforméy (avant qu'ils ne soient des ratios / probabilités).
L'observation de Peter Flom n'a de sens que si votre y n'est pas une probabilité. Vérifiezx et voyez si vous voyez une distribution Bêta changeante ou exécutez simplement
plot(density(y));rug(y)
à différents seaux debetareg
. Notez que la distribution bêta est également une distribution de famille exponentielle et il devrait donc être possible de la modéliser avecglm
dans R.Pour vous donner une idée de ce que je voulais dire par régression logistique:
EDIT: après avoir lu les commentaires:
Étant donné que «les valeurs y sont des probabilités d'appartenir à une certaine classe, obtenues à partir de classifications moyennes effectuées manuellement par des personnes», je recommande fortement de faire une régression logistique sur vos données de base. Voici un exemple:
Supposons que vous envisagez la probabilité qu'une personne accepte une proposition (y=1 se mettre d'accord, y=0 en désaccord) étant donné une incitation x entre 0 et 10 (pourrait être transformé en log, par exemple la rémunération). Deux personnes proposent l'offre aux candidats ("Jill and Jack"). Le vrai modèle est que les candidats ont un taux d'acceptation de base et qu'il augmente à mesure que la motivation augmente. Mais cela dépend aussi de qui propose l'offre (dans ce cas, nous disons que Jill a une meilleure chance que Jack). Supposons que, combinés, ils demandent 1000 candidats et collectent leurs données d'acceptation (1) ou de rejet (0).
Du résumé, vous pouvez voir que le modèle s'adapte assez bien. La déviance estχ2n−3 (std de χ2 est 2.df−−−−√ ). Ce qui correspond et il bat un modèle avec une probabilité fixe (la différence d'écarts est de plusieurs centaines avecχ22 ). C'est un peu plus difficile à dessiner étant donné qu'il y a deux covariables ici mais vous avez l'idée.
Comme vous pouvez le voir, Jill a plus de facilité à obtenir un bon taux de réussite que Jack, mais cela disparaît à mesure que l'incitation augmente.
Vous devez essentiellement appliquer ce type de modèle à vos données d'origine. Si votre sortie est binaire, conservez le 1/0 s'il est multinomial vous avez besoin d'une régression logistique multinomiale. Si vous pensez que la source supplémentaire de variance n'est pas le collecteur de données, ajoutez un autre facteur (ou variable continue) selon ce que vous jugez logique pour vos données. Les données viennent en premier, deuxième et troisième, seulement alors le modèle entre en jeu.
la source
glm
produit une ligne incurvée relativement plate qui ressemble remarquablement à la ligne indiquée dans la question.Le modèle de régression linéaire n'est pas bien adapté aux données. On pourrait s'attendre à tirer quelque chose comme ce qui suit de la régression:
mais en réalisant ce que fait OLS, il est évident que ce n'est pas ce que vous obtiendrez. Une interprétation graphique des moindres carrés ordinaires est qu'elle minimise la distance verticale au carré entre la ligne (hyperplan) et vos données. De toute évidence, la ligne violette que j'ai superposée a d'énormes résidus dex∈(−7,4.5) et encore de l'autre côté de 3. C'est pourquoi la ligne bleue est mieux adaptée que la violette.
la source
Puisque Y est borné par 0 et 1, la régression des moindres carrés ordinaires n'est pas bien adaptée. Vous pouvez essayer la régression bêta. Il
R
y a lebetareg
paquet.Essayez quelque chose comme ça
Plus d'informations
EDIT: Si vous souhaitez un compte rendu complet de la régression bêta, ses avantages et ses inconvénients, voir Un meilleur presse-citron: régression de vraisemblance maximale avec des variables dépendantes distribuées bêta par Smithson et Verkuilen
la source
betareg
train de mettre en œuvre? Quelles sont ses hypothèses et pourquoi est-il raisonnable de supposer qu'elles s'appliquent à ces données?Vous voudrez peut-être d'abord savoir exactement ce que fait un modèle linéaire. Il essaie de modéliser une relation de la forme
Où leϵi satisfaire à certaines conditions (hétéroskédasticité, variance uniforme et indépendance - wikipedia est un bon début si cela ne vous dit rien). Mais même si ces conditions sont vérifiées, il n'y a absolument aucune garantie que ce sera le "meilleur ajustement" dans le sens que vous recherchez: OLS essaie simplement de minimiser les erreurs dans la direction Y, ce qu'il fait dans votre mais ce n'est pas ce qui semble être le mieux adapté.
Si un modèle linéaire est vraiment ce que vous recherchez, vous pouvez essayer de transformer un peu vos variables afin que OLS puisse en effet être ajusté, ou simplement essayer un autre modèle. Vous voudrez peut-être examiner PCA ou CCA, ou si vous êtes vraiment déterminé à utiliser un modèle linéaire, essayez la solution des moindres carrés , qui pourrait donner un meilleur "ajustement", car elle permet des erreurs dans les deux sens.
la source