Wenn ich ein interpretierbares Modell haben möchte, gibt es andere Methoden als die lineare Regression?

16

Ich bin auf einige Statistiker gestoßen, die niemals andere Modelle als die lineare Regression zur Vorhersage verwenden, weil sie der Meinung sind, dass "ML-Modelle" wie zufällige Gesamtstruktur- oder Gradientenerhöhungen schwer zu erklären oder "nicht interpretierbar" sind.

In einer linearen Regression bieten die t-Tests eine Möglichkeit, die Signifikanz von Variablen zu testen, da der Satz von Annahmen verifiziert ist (Normalität von Fehlern, Homoskedastizität, keine Multikollinearität). Tests, die meines Wissens nach in der nicht verfügbar sind zufällige Wälder oder Steigungsmodelle.

Daher ist meine Frage, ob ich eine abhängige Variable mit einer Reihe unabhängiger Variablen modellieren möchte. Soll ich aus Gründen der Interpretierbarkeit immer die lineare Regression verwenden?

Sieger
quelle
6
Kommt drauf an, was du noch für linear hältst. Verallgemeinerte lineare Modelle und verallgemeinerte additive Modelle basieren immer noch auf der Schätzung einer linearen Komponente, können jedoch eine Vielzahl von Beziehungen modellieren.
Frans Rodenburg
2
Kommt auch drauf an, was du mit interpretierbar meinst. Für Modelle des maschinellen Lernens wurden verschiedene Möglichkeiten des „Blicks in die Black Box“ vorgeschlagen, die sich jedoch möglicherweise für Ihre Ziele eignen oder nicht.
user20160
5
Ich verstehe nicht ganz, was Inferenzstatistiken und t-Tests mit Interpretierbarkeit zu tun haben, bei der es IMO hauptsächlich um Koeffizientenschätzungen geht.
S. Kolassa - Setzen Sie Monica
3
@StephanKolassa "Interretability" kann sich auch auf die Funktionsform beziehen . Beispielsweise sind die Koeffizientenschätzungen, die durch die algorithmische Anpassung fraktionaler Polynomkurven in Regressionsmodellen (ob lineare Regression, GLM oder etwas anderes) erstellt werden, bei guter Anpassung mit ziemlicher Sicherheit nicht intuitiv nach Modellen der Form und interpretieren Sie daher die Beziehung zwischen und die durch Ihre Koeffizientenschätzungen impliziert wird? yich=β0+β1xich-3/5+β2xich1/3+β3xich3+εichyx
Alexis
2
@UserX Was Sie beschreiben, ist immer noch eine lineare Regression (dh sie ist in den Parametern linear). Kontrast mit y i = β 0 + β 1 x i + x β 2 i + ε i : Ersteres ist ein lineares Regressionsmodell, während das Letzteres kann nicht durch lineare Regression geschätzt werden. yich=β0+β1xich+β2xich2+εichyich=β0+β1xich+xichβ2+εich
Alexis

Antworten:

28

Es fällt mir schwer zu glauben, dass Sie das von Leuten gehört haben, weil es dumm wäre, das zu sagen. Es ist so, als würden Sie nur den Hammer verwenden (einschließlich Bohren von Löchern und Auswechseln der Glühbirnen), weil er einfach zu verwenden ist und vorhersehbare Ergebnisse liefert.

Zweitens ist lineare Regression nicht immer "interpretierbar". Wenn Sie ein lineares Regressionsmodell mit vielen polynomialen Begriffen oder nur vielen Features haben, ist es schwierig zu interpretieren. Angenommen , Sie haben die Rohwerte aller 784 Pixel von MNIST † als Features verwendet. Würde Ihnen das Wissen, dass Pixel 237 ein Gewicht von -2311,67 hat, etwas über das Modell sagen? Für Bilddaten wäre das Betrachten von Aktivierungskarten des neuronalen Faltungsnetzwerks viel einfacher zu verstehen.

Schließlich gibt es Modelle, die gleichermaßen interpretierbar sind, z. B. logistische Regression, Entscheidungsbäume, naiver Bayes-Algorithmus und vieles mehr.

† - Wie von Ingolifs im Kommentar bemerkt und in diesem Thread diskutiert , ist MNIST möglicherweise nicht das beste Beispiel, da dies ein sehr einfacher Datensatz ist. Bei den meisten realistischen Bilddatensätzen würde eine logistische Regression nicht funktionieren, und ein Blick auf die Gewichte würde keine eindeutigen Antworten liefern. Wenn Sie sich die Gewichte im verknüpften Thread genauer ansehen, ist ihre Interpretation ebenfalls nicht einfach. Beispielsweise zeigen Gewichte für die Vorhersage von "5" oder "9" kein offensichtliches Muster (siehe Abbildung unten, vom anderen Thread kopiert).

Tim
quelle
2
Diese Antwort macht meiner Meinung nach einen guten Job und zeigt, wie klar die logistische Regression bei MNIST erklärt werden kann.
Ingolifs
1
@Ingolifs sind sich einig, aber dies ist eine Aktivierungskarte. Sie können dasselbe für das neuronale Netzwerk tun.
Tim
Unabhängig davon, wie es heißt, enthält es eine klare Erklärung, mit welcher logistischen Regression Entscheidungen getroffen werden, die für Aktivierungskarten neuronaler Netze nicht wirklich zutreffen.
Ingolifs
1
@Ingolifs MNIST ist vielleicht nicht das beste Beispiel, weil es sehr einfach ist, aber der Punkt ist, dass Sie dieselbe Methode für das neuronale Netzwerk verwenden würden.
Tim
6

Nein, das ist unnötig einschränkend. Es gibt eine Vielzahl interpretierbarer Modelle, darunter nicht nur (wie Frans Rodenburg sagt) lineare Modelle, verallgemeinerte lineare Modelle und verallgemeinerte additive Modelle, sondern auch Methoden des maschinellen Lernens für die Regression. Ich schließe zufällige Wälder, gradientenverstärkte Maschinen, neuronale Netze und mehr ein. Nur weil Sie keine Koeffizienten aus maschinellen Lernmodellen erhalten, die denen aus linearen Regressionen ähneln, bedeutet dies nicht, dass ihre Funktionsweise nicht verstanden werden kann. Es dauert nur ein bisschen mehr Arbeit.

Um zu verstehen, warum, würde ich empfehlen, diese Frage zu lesen: Wissen aus einer zufälligen Gesamtstruktur abrufen . Was es zeigt, ist, wie Sie es angehen können, fast jedes maschinelle Lernmodell interpretierbar zu machen.

mkt - Setzen Sie Monica wieder ein
quelle
6

Ich würde Tims und mkts Antworten zustimmen - ML-Modelle sind nicht unbedingt nicht interpretierbar. Ich möchte Sie auf das Paket Descriptive MAchine Learning EXplanations, DALEX R, verweisen, das darauf abzielt , ML-Modelle interpretierbar zu machen.

babelproofreader
quelle
1
Das DALEX-Paket ist in der Tat sehr interessant. Wissen Sie, ob es für Python etwas Ähnliches gibt?
Victor
@ Victor Ich kenne keine Python-Version von DALEX, aber Sie könnten versuchen, R von Python aus aufzurufen, indem Sie beispielsweise rpy2.readthedocs.io/en/version_2.8.x/introduction.html verwenden .
Babelproofreader