J'ai un problème de régression linéaire. En bref, j'ai un ensemble de données, je l'ai divisé en deux sous-ensembles. Un sous-ensemble est utilisé pour trouver la régression linéaire (sous-ensemble d'apprentissage), un autre est utilisé pour l'évaluer (sous-ensemble d'évaluation). Ma question est de savoir comment évaluer le résultat de cette régression linéaire après l'avoir appliqué au sous-ensemble d'évaluation des données?
Voici les détails:
Dans le sous-ensemble de formation, je fais une régression linéaire: , où est groundtruth (également connu sous le nom de cible), est une variable indépendante. Puis j'ai trouvé et . ( et sont donnés dans le sous-ensemble de formation).
Maintenant, en utilisant et trouvé ci-dessus à partir du sous-ensemble de formation, les appliquer au sous-ensemble d'évaluation, j'ai trouvé . En d'autres termes, ces se trouvent à partir de la régression linéaire avec . Maintenant, en plus de, J'ai aussi de l'ensemble d'évaluation. Comment puis-je évaluer mon résultat (combien différer )? Un modèle mathématique général pour le faire? Il doit s'agir d'une sorte de modèle / formule mathématique. Je peux penser à différentes façons de le faire, mais elles sont toutes un peu ad-hoc ou simples, mais c'est pour un travail scientifique, donc des choses qui semblent ad-hoc ne peuvent pas être utilisées ici, malheureusement.
Une idée?
Réponses:
Je suis d'accord avec @Octern que l'on voit rarement des gens utiliser des séparations train / test (ou même des choses comme la validation croisée) pour les modèles linéaires. Le sur-ajustement n'est certainement pas un problème avec un modèle très simple comme celui-ci.
Si vous vouliez avoir une idée de la «qualité» de votre modèle, vous souhaiterez peut-être signaler les intervalles de confiance (ou leurs équivalents bayésiens) autour de vos coefficients de régression. Il y a plusieurs moyens de le faire. Si vous savez / pouvez supposer que vos erreurs sont normalement distribuées, il existe une formule simple (et les packages d'analyse de données les plus populaires vous donneront ces valeurs). Une autre alternative populaire consiste à les calculer par rééchantillonnage (par exemple, bootstrap ou jackknifing), ce qui fait moins d'hypothèses sur la distribution des erreurs. Dans les deux cas, j'utiliserais l'ensemble de données complet pour le calcul.
la source
si vous êtes vraiment bien avec votre modèle de formation linéaire et que vous voulez savoir dans quelle mesure il prédirait vos données de test, alors tout ce que vous auriez à faire est d'utiliser la formule du modèle linéaire que vous avez déjà et d'inclure les coefficients estimés a (= intercepter) et b (coefficient de régression, également appelé pente) résultant du premier modèle.
devrait ressembler à y = a + b * X ici quelques nombres imaginaires ... y = 2 + 0,5 * X
Quel logiciel utilisez-vous? Utilisez-vous R? si tel est le cas, vous pouvez utiliser la fonction predire.lm () et l'appliquer à votre 2e jeu de données.
la source
Bien que cela dépende en grande partie de vos objectifs, une façon simple et standard de le faire serait de mesurer l' erreur quadratique moyenne (MSE) . Donc, si vous avez votre jeu de données de testD qui se composent de paires d'entrée / sortie, D={(x1,y1),(x2,y2),…,(xn,yn)} et vos paramètres a et b , alors le MSE peut être calculé comme
C'est probablement un moyen judicieux de mesurer votre erreur également, car il s'agit probablement des critères que vous avez utilisés pour trouver les paramètresa et b . Si vous voulez avoir une meilleure idée de la façon dont vos paramètres estimés se généralisent, vous devriez examiner quelque chose comme la validation croisée .
la source