Als ich die multiple Regressionsanalyse auf Wikipedia nachgeschlagen habe, war sie wie folgt.
Die multiple Regressionsanalyse ist eine der multivariaten Analysen. Zwei oder mehr unabhängige Variablen (zwei oder mehr Dimensionen) in der Regressionsanalyse. Eine mit einer unabhängigen Variablen wird als einfache Regressionsanalyse bezeichnet. Die häufig verwendete Methode der kleinsten Quadrate, die multiple Regression verallgemeinerter linearer Modelle, ist eine mathematische Art der linearen Analyse und der Dispersionsanalyse mathematisch ähnlich. Durch Auswahl mehrerer geeigneter Variablen ist es möglich, eine Vorhersageformel zu erstellen, die einfach zu berechnen ist und nur wenige Fehler aufweist. Der Koeffizient jeder erklärenden Variablen des multiplen Regressionsmodells wird als partieller Regressionskoeffizient bezeichnet. Der Grad des Einflusses auf die Zielvariable zeigt nicht den partiellen Regressionskoeffizienten, aber der standardisierte partielle Regressionskoeffizient zeigt den Grad des Einflusses auf den objektiven Koeffizienten.
ich bin mir nicht sicher
Der Klarheit halber werde ich zunächst eine einfache Regressionsanalyse anhand eines Beispiels erläutern.
Zum Beispiel möchte ich die Größe einer Person anhand des Gewichts vorhersagen! !! !! Nehme an, dass Zu diesem Zweck sollen die Gewichts- und Höhendaten für 10 Personen erfasst und die folgende gerade Linie gezogen werden.
Vertikale Achse: Höhe (cm) Horizontale Achse: Gewicht (kg)
Mathematisch gesehen hat eine solche gerade Linie die folgende Form.
Das Finden von a und b in der obigen Gleichung wird als einfache Regressionsanalyse bezeichnet. Es gibt so etwas wie ^ über y, aber dies wird als Hut bezeichnet und scheint an den vorhergesagten Wert y gebunden zu sein. Die Methode des minimalen Quadrats wird als Methode zum Erhalten dieser a und b verwendet. Da die Methode der minimalen Quadrate bei der Erläuterung der Mehrfachregressionsanalyse erläutert wird, wird sie hier weggelassen. Außerdem gab es eine Person, die die Methode der minimalen Quadrate auf leicht verständliche Weise unter der folgenden URL erklärte, sodass Sie darauf verweisen können.
Versuchen wir die Methode der kleinsten Quadrate in Python
Wenn Sie a und b finden, können Sie y (Höhe) vorhersagen, indem Sie x durch Gewicht ersetzen.
Die offiziellen Namen der Jungs in diesem Beispiel werden für die nächste Erklärung der multiplen Regressionsanalyse angezeigt.
--Gewicht: ** Erklärende Variablen **
In diesem Beispiel wurde die Höhe anhand der Gewichtsdaten vorhergesagt. Der Wert, den Sie suchen möchten, wird als Zielvariable bezeichnet, und der Wert, der zur Vorhersage des Werts verwendet wird, den Sie suchen möchten (Zielvariable), wird als erklärende Variable bezeichnet.
――Was ist eine einfache Regressionsanalyse? Der Fall der Vorhersage der Zielvariablen mit einer erklärenden Variablen wird als einfache Regressionsanalyse bezeichnet.
** Eine Regressionsanalyse, die die Zielvariable aus mehreren erklärenden Variablen vorhersagt **, wird als multiple Regressionsanalyse bezeichnet.
Als Beispiel ... In der einfachen Regressionsanalyse, die ich zuvor erwähnt habe, habe ich die Größe nur anhand des Gewichts vorhergesagt. Wenn Sie jedoch in der Realität darüber nachdenken, scheint es schwierig zu sein, die Größe allein anhand des Gewichts vorherzusagen. Es scheint schwierig zu sein, die genaue Höhe durch die zuvor erwähnte einfache Regressionsanalyse vorherzusagen, da einige Leute knusprig und andere fett sind.
Was soll ich dann tun
Es ist ein Gefühl der multiplen Regressionsanalyse, dass ich dachte, dass es möglich wäre, eine genauere Vorhersage zu treffen, indem die Taillen- und Fußgröße, die wahrscheinlich bei der Vorhersage der Körpergröße in Beziehung stehen, als erklärende Variablen verwendet werden.
Hast du das Bild bekommen? ❓
Von hier aus werde ich ein wenig mathematisch sprechen.
Die allgemeine Formel für die multiple Regressionsanalyse lautet wie folgt.
――Die Zielvariable ist der vorhergesagte Wert (Höhe) wie bei einer einfachen Regressionsanalyse.
――Der Regressionskoeffizient entspricht einem (Gradienten) in einer einfachen Regressionsanalyse. Die multiple Regressionsanalyse ist ein Bild, das die Nummer einer für jede erklärende Variable entsprechenden ermittelt, da es mehrere erklärende Variablen gibt.
Ich werde erklären, wie man es findet.
Aus Gründen der Klarheit werden wir das folgende Beispiel verwenden.
[Beispiel] Die Größe (Zielvariable) wird aus drei erklärenden Variablen wie Gewicht, Taille und Fußgröße vorhergesagt. Die Anzahl der Proben beträgt 5. Speziell ... Mr. A ・ ・ ・ Gewicht: 50 kg, Taille: 60 cm, Fußgröße: 23 cm → Höhe: 155 cm Mr. B ・ ・ ・ Gewicht: 60 kg, Taille: 70 cm, Fußgröße: 25 cm → Höhe: 162 cm Mr. C ・ ・ ・ Gewicht: 70 kg, Taille: 78 cm, Fußgröße: 27 cm → Höhe: 173 cm Mr. D ・ ・ ・ Gewicht: 30 kg, Taille: 50 cm, Fußgröße: 19 cm → Höhe: 135 cm Mr. E ・ ・ ・ Gewicht: 80 kg, Taille: 95 cm, Fußgröße: 27 cm → Höhe: 175 cm Der Zweck besteht darin, eine nette Funktion ($ \ hat {y} $) zu erstellen, die die Größe eines unbekannten Menschen vorhersagen kann, indem aus den Daten der oben genannten 5 Personen ein netter Regressionskoeffizient β1, β2, β3 ermittelt wird. ist!
Es wird viele Briefe geben, machen Sie also bitte eine Pause, bevor Sie lesen.
Wenn Sie ein gutes $ \ beta $ finden können, müssen Sie zunächst bewerten, ob es sich wirklich gut anfühlt. Es gibt eine Methode namens ** Minimum Square Method ** als Methode zur Bewertung. Diejenigen, die die URL während der einfachen Regressionsanalyse früher gelesen haben, haben sie vielleicht verstanden, aber ich werde sie auch hier kurz erklären.
Was ist die Methode der minimalen Quadrate? Angenommen, Sie ziehen aus einigen Daten eine schöne Linie, wie im Bild unten gezeigt. Dann gibt es einen Fehler in jedem Punkt und jeder Linie. (Die rote Linie im Bild ist der Fehler.) Wenn die Summe der Fehler durch Hinzufügen der Fehler aller Punkte und Linien gering ist, wird eine schöne gerade Linie gezeichnet! Es bedeutet das.
Der Fehler kann jedoch einen Punkt unterhalb der Linie (Minusfehler), einen Punkt oberhalb der Linie (Plusfehler) oder ein anderes Vorzeichen haben. Wenn Sie den Fehler so hinzufügen, wie er ist, kann es vorkommen, dass er sich wie Pramai 0 anfühlt, und es wird bewertet, dass der Fehler groß, aber der Fehler klein ist. Ich möchte es vermeiden. Ich möchte die Codes vereinheitlichen!
Daher gibt es einen absoluten Wert, der als eine Sache angesehen werden kann, die das Vorzeichen vereinheitlichen kann, aber ich möchte den absoluten Wert vermeiden, da er sehr schwierig zu handhaben ist, da die Berechnung in Fälle unterteilt werden muss. Eine andere Methode, mit der derselbe Code gelöscht werden konnte, bestand darin, den Fehler zu quadrieren und den Code zu vereinheitlichen ... die Methode des minimalen Quadrats! Es wurde.
Die allgemeine Formel der Minimum-Square-Methode lautet wie folgt.
In diesem Beispiel ...
Es wird sein. (Ergänzung) In diesem Beispiel sind $ y_i $ die tatsächlichen Höhendaten von A nach E. Kurz gesagt, es ist die Summe der quadratischen Differenz zwischen den tatsächlichen Höhen von Herrn A und Herrn E und den vorhergesagten Höhen von Herrn A und Herrn E. $ n $ ist in diesem Beispiel 5.
Und ich möchte diese Fehlerfunktion $ E (D) $ minimieren! Es bedeutet das.
Was soll ich dann tun?
Woran denkst du, wenn du es zum Minimum oder Maximum machen willst? ❓ Wenn Sie es zu = 0 differenzieren, können Sie es sich als Maximal- oder Minimalwert-❓ vorstellen Mir fiel nichts ein.
Die folgenden Schritte sind also die Schlussfolgerung.
① $ E (D) $ wird teilweise durch $ \ beta_0, \ beta_1, \ beta_2, \ beta_3 $ unterschieden. Es hat die folgenden Symbole.
② Und sei 0 die linke Seite der partiellen Differenzierung. Wenn die partielle Differenzierung auf = 0 gesetzt ist, kann jedes β an dem Punkt erhalten werden, an dem die Steigung 0 ist, dh an dem Punkt, an dem E (D) der Minimalwert ist, so dass es auf = 0 gesetzt wird. Mit dieser Erklärung allein könnten einige Leute jedoch denken, dass der Punkt, an dem die Neigung 0 ist, nicht bedeutet, dass E (D) nicht der Minimalwert, sondern der Maximalwert ❓ ist. Ich werde die detaillierte Erklärung weglassen, aber wenn Sie $ \ beta_0 $ in der obigen Formel von E (D) festlegen, beträgt die maximale Reihenfolge anderer $ \ beta_1, \ beta_2, \ beta_3 $ 2 (quadratische Funktion). Und da das Vorzeichen positiv ist, handelt es sich um eine quadratische Funktion, die nach unten konvex ist. Dies ist also der Mindestwert, der nach teilweiser Differenzierung als = 0 berechnet werden muss. Ich denke, es ist sehr schwer zu verstehen, deshalb werde ich die URL des leicht verständlichen Videos von Herrn Yobinori veröffentlichen.
[Universitätsmathematik] Minimum-Square-Methode (Renditeanalyse) [Wahrscheinlichkeitsstatistik]
③ Da jedes der $ \ beta_0, \ beta_1, \ beta_2, \ beta_3 $ teilweise differenziert ist, können vier Gleichungen erstellt werden.
Wenn Sie Ihr Bestes tun, um die simultanen Gleichungen zu lösen ...
Sie können $ \ beta_0, \ beta_1, \ beta_2, \ beta_3 $ finden, die $ E (D) $ minimieren! Ich fühle mich wie.
Die obige Ableitung hat in diesem Beispiel drei erklärende Variablen, aber selbst wenn diese Zahl zunimmt, ist die Ableitungsmethode im Grunde dieselbe, und es gibt nur einen Unterschied, der es schwierig macht, simultane Gleichungen zu lösen.
Und es gibt eine Formel für die Form nach der Ableitung. (Sie müssen also nicht die oben genannte nervige Ableitung machen lol) Es ist wie folgt. Ich werde erklären, wie man die zuvor erläuterte Berechnung mit einer Matrix ausdrückt. (Weil die Formel nach der Ableitung durch eine Matrix ausgedrückt wird.)
Und wenn Sie die obige Formel als Matrix ausdrücken ...
|| ||Wenn Sie nach innen erweitern ...
\begin{align}
& = \left(
\begin{matrix}
y_0 \\
y_1 \\
y_2 \\
y_3 \\
y_4 \\
y_5 \\
\end{matrix}
\right)-
\left(
\begin{matrix}
1 & x_{11} & x_{12} & x_{13} \\
1 & x_{21} & x_{22} & x_{23} \\
1 & x_{31} & x_{32} & x_{33} \\
1 & x_{41} & x_{42} & x_{43} \\
1 & x_{51} & x_{52} & x_{53} \\
\end{matrix}
\right)
\left(
\begin{matrix}
\beta_0 \\
\beta_1 \\
\beta_2 \\
\beta_3
\end{matrix}
\right)\\
& =\left(
\begin{matrix}
y_0 \\
y_1 \\
y_2 \\
y_3 \\
y_4 \\
y_5 \\
\end{matrix}
\right)-
\left(
\begin{matrix}
\beta_0+\beta_1x_{11}+\beta_2x_{12}+\beta_3x_{13} \\
\beta_0+\beta_1x_{21}+\beta_2x_{22}+\beta_3x_{23} \\
\beta_0+\beta_1x_{31}+\beta_2x_{32}+\beta_3x_{33} \\
\beta_0+\beta_1x_{41}+\beta_2x_{42}+\beta_3x_{43} \\
\beta_0+\beta_1x_{51}+\beta_2x_{52}+\beta_3x_{53} \\
\end{matrix}
\right)
\end{align}
Sie können sehen, dass es die gleiche Form wie $ E (D) $ hat.
Wenn jede Komponente der obigen Formel durch eine Matrix dargestellt wird, sieht es so aus.
\beta = \left(
\begin{matrix}
\beta_0 \\
\beta_1 \\
\beta_2 \\
\beta_3
\end{matrix}
\right)
y = \left(
\begin{matrix}
y_0 \\
y_1 \\
y_2 \\
y_3 \\
y_4 \\
y_5 \\
\end{matrix}
\right)
X = \left(
\begin{matrix}
1 & x_{11} & x_{12} & x_{13} \\
1 & x_{21} & x_{22} & x_{23} \\
1 & x_{31} & x_{32} & x_{33} \\
1 & x_{41} & x_{42} & x_{43} \\
1 & x_{51} & x_{52} & x_{53} \\
\end{matrix}
\right)
Selbst wenn Sie plötzlich so etwas sagen, verstehen Sie die Bedeutung überhaupt nicht. Ich werde eins nach dem anderen erklären.
$ \ beta $: Dies war der Wert, den ich endlich bekommen wollte, um eine schöne Linie zu ziehen. Die Anzahl ist die Anzahl der erklärenden Variablen + 1 (Bias). In diesem Beispiel befinden sich also vier in einer Spalte.
$ y $: Dies sind die Höhendaten von Herrn A bis Herrn E, die als Beispiel von oben angegeben wurden, sodass 5 Elemente in einer Spalte aufgelistet sind.
$ X $: Ich glaube, ich habe das nicht am meisten verstanden. Die erste Reihe ist alle 1. Dies liegt daran, dass keine Notwendigkeit besteht, etwas auf die Vorspannung anzuwenden, sodass es sich anfühlt, als würde eine angewendet, und die erste Zeile ist alle 1. Wenn Sie sich die erweiterte Formel oben ansehen, können Sie sehen, dass sie korrekt ist, da in der ersten Spalte eine 1 steht. (In anderer Literatur wird die Abweichung separat berechnet, und es gibt möglicherweise keine Spalte mit nur 1 in der ersten Spalte.) Die zweite Spalte enthält die Gewichtsdaten von Herrn A bis Herrn E von oben. Die dritte Spalte enthält die Taillendaten von Herrn A bis Herrn E von oben. Die 4. Spalte enthält die Fußgrößendaten von Herrn A bis Herrn E von oben. Die Anzahl der Zeilen ist die Anzahl der Abtastwerte und die Anzahl der Spalten ist die Anzahl der zu erhaltenden β (erklärende Variable + 1). Zum Beispiel werden im Fall von $ x_ {23} $ 25 cm der Größe von Herrn Bs Fuß eingeschlossen.
Nachdem Sie nun wissen, wie man es in einer Matrix ausdrückt, möchte ich Ihnen eine Formel zum Auffinden von $ \ beta $ geben.
Dies. Es mag nicht gut herauskommen, aber dies ist lol $ X ^ T $ ist eine Translokationsmatrix von $ X $. Eine transponierte Matrix ist ein Austausch von Zeilen und Spalten.
Verwenden wir die Formel, um sie zu finden.
Ich werde die Beispieldaten wiederholen. Mr. A ・ ・ ・ Gewicht: 50 kg, Taille: 60 cm, Fußgröße: 23 cm → Höhe: 155 cm Mr. B ・ ・ ・ Gewicht: 60 kg, Taille: 70 cm, Fußgröße: 25 cm → Höhe: 162 cm Mr. C ・ ・ ・ Gewicht: 70 kg, Taille: 78 cm, Fußgröße: 27 cm → Höhe: 173 cm Mr. D ・ ・ ・ Gewicht: 30 kg, Taille: 50 cm, Fußgröße: 19 cm → Höhe: 135 cm Mr. E ・ ・ ・ Gewicht: 80 kg, Taille: 95 cm, Fußgröße: 27 cm → Höhe: 175 cm Darüber hinaus bezog sich ein Teil des folgenden Programms auf die folgende URL. Das folgende Programm verwendet eine Formel zur Berechnung des Regressionskoeffizienten und sagt die Größe einer Person mit [Gewicht: 80 kg, Taille: 90 cm, Fußgröße: 27 cm] voraus. [[Verständnis in 5 Minuten] Einfache Erklärung der multiplen Regressionsanalyse [mit Beispiel]](https://mathmatical22.xyz/2019/09/13/ [Verständnis in 5 Minuten] Leicht verständliche und einfache Lösung der multiplen Regressionsanalyse /)
python.
# coding=utf-8
#Multiple Regressionsanalyse
def Multiple_regression(X, y):
#Partieller Regressionskoeffizientenvektor
A = np.dot(X.T, X) # X^T*X
A_inv = np.linalg.inv(A) # (X^T*X)^(-1)
B = np.dot(X.T, y) # X^T*y
beta = np.dot(A_inv, B)
return beta
#Erklärende Variablenmatrix(Gewicht, Taille, Fußgröße)
X = np.array([[1, 50, 60, 23], [1, 60, 70, 25], [
1, 70, 78, 27], [1, 30, 50, 19], [1, 80, 95, 27]])
#Objektiver variabler Vektor (Höhe)
y = np.array([[155], [162], [173], [135], [175]])
#Partieller Regressionskoeffizientenvektor
beta = Multiple_regression(X, y)
print(beta)
predict_data = [1, 80, 90, 27] #Daten, die Sie vorhersagen möchten
def predict(beta, predict_data):
#Berechnung der tatsächlichen Prognose
predict_tall = beta[0] * predict_data[0] + beta[1] * predict_data[1] + \
beta[2] * predict_data[2] + beta[3] * predict_data[3]
return predict_tall
tall = predict(beta, predict_data)
print(tall)
Die erhaltenen Ergebnisse sind wie folgt.
β = [[90.85638298]
[ 0.76276596]
[-0.28723404]
[ 1.86702128]]
Voraussichtliche Größe (Gewicht:80kg,Taille:90cm,Schuhgröße:27cm Mensch)
y = 176.43617021cm
β ist $ \ beta_0, \ beta_1, \ beta_2, \ beta_3 $ von oben.
Wenn Sie es auf die folgende Formel anwenden und berechnen ...
Ich konnte es auf 176 cm vorhersagen. Es scheint, dass es irgendwie eine gute Vorhersage sein wird.
Dies ist das Ende der Erklärung. Vielen Dank für Ihre harte Arbeit. Ich frage mich, ob ich die multiple Regressionsanalyse irgendwie verstehen könnte. Ich hoffe du kannst die Atmosphäre alleine verstehen.
Um die Geschichte dieses Mal zusammenzufassen ...
○ Multiple Regressionsanalyse ist eine Power-Up-Version einer einfachen Regressionsanalyse, mit der die Zielvariable aus mehreren erklärenden Variablen vorhergesagt werden kann.
○ Das Wichtigste bei der multiplen Regressionsanalyse ist, den optimalen Regressionskoeffizienten zu finden. Dort wird die Minimum-Square-Methode angewendet!
Finden Sie den Regressionskoeffizienten, der die E (D) -Fehlerfunktion minimiert. Die folgende Formel kann erhalten werden, indem wir unser Bestes geben, indem wir teilweise differenzieren.
Ich möchte etwas mehr über die multiple Regressionsanalyse als dieses Beispiel hinzufügen.
Ergänzung ○ Die in der Grafik dargestellte multiple Regressionsanalyse enthält bis zu zwei erklärende Variablen. Dies liegt daran, dass nur die X-Achse, die Y-Achse und die Z-Achse angezeigt werden können. Darüber hinaus ist es eine imaginäre Welt, aber die Idee ist im Grunde die gleiche wie eine einfache Regressionsanalyse.
○ Dieses Mal habe ich meine Größe vorhergesagt, indem ich eine schöne gerade Linie gezeichnet habe, aber es gibt Dinge auf der Welt, die nicht durch eine gerade Linie ausgedrückt werden können.
X = \left(
\begin{matrix}
1 & x_{11} & x_{12} & x_{13} \\
1 & x_{21} & x_{22} & x_{23} \\
1 & x_{31} & x_{32} & x_{33} \\
1 & x_{41} & x_{42} & x_{43} \\
1 & x_{51} & x_{52} & x_{53} \\
\end{matrix}
\right)
Dieses Mal wurden die erklärenden Variablen unter Verwendung einer einfachen linearen Funktion vorhergesagt, so dass die Vorhersagelinie gerade war. In der multiplen Regressionsanalyse gibt es jedoch Situationen, in denen Sie eine nichtlineare (nicht gerade Form, gekrümmte) Vorhersagelinie zeichnen möchten. In einem solchen Fall scheint es, dass die Funktion der Matrix erklärender Variablen als quadratisch oder kubisch ausgedrückt werden kann. Wenn Sie die Kurve tatsächlich vorhersagen, treten als nächstes Probleme wie Überlernen auf. Übertraining bedeutet, dass die Vorhersagelinie für die angegebenen Daten zu geeignet ist und nicht richtig vorhergesagt werden kann. Bitte sehen Sie das Bild unten. (Erklärung des Bildes) Datengruppe mit hellblauen Punkten Die Vorhersagelinie, die Sie tatsächlich zeichnen möchten, ist die blaue Linie Die rote Linie ist übertrainiert und passt zum angegebenen Datensatz.
Wenn Sie eine Kurve wie diese erstellen, tritt das Problem des Überlernens auf. Es scheint eine Methode namens ** Regularisierung ** zu verwenden, um dies zu verhindern. Das nächste Mal werde ich die Regularisierung zusammenfassen. Wenn Sie einen Artikel haben, werde ich ihn unten veröffentlichen, also schauen Sie ihn sich bitte an.