Ich bin gespannt auf wiederholbare Verfahren , die verwendet werden können , die funktionale Form der Funktion zu entdecken , y = f(A, B, C) + error_term
wo meine einzige Eingabe eine Reihe von Beobachtungen ist ( y
, A
, B
und C
). Bitte beachten Sie, dass die Funktionsform f
unbekannt ist.
Betrachten Sie den folgenden Datensatz:
AA BB CC DD EE FF == == == == == == 98 11 66 84 67 10500 71 44 48 12 47 7250 54 28 90 73 95 5463 34 95 15 45 75 2581 56 37 0 79 43 3221 68 79 1 65 9 4721 53 2 90 10 18 3095 38 75 41 97 40 4558 29 99 46 28 96 5336 22 63 27 43 4 2196 4 5 89 78 39 492 10 28 39 59 64 1178 11 59 56 25 5 3418 10 4 79 98 24 431 86 36 84 14 67 10526 80 46 29 96 7 7793 67 71 12 43 3 5411 14 63 2 9 52 368 99 62 56 81 26 13334 56 4 72 65 33 3495 51 40 62 11 52 5178 29 77 80 2 54 7001 42 32 4 17 72 1926 44 45 30 25 5 3360 6 3 65 16 87 288
In diesem Beispiel nehmen wir an, dass wir das wissen FF = f(AA, BB, CC, DD, EE) + error term
, aber wir sind uns nicht sicher über die funktionale Form von f(...)
.
Welches Verfahren / welche Methoden würden Sie anwenden, um die funktionale Form von zu finden f(...)
?
(Bonuspunkt: Was ist Ihre beste Vermutung bei der Festlegung der f
oben genannten Daten? :-) Und ja, es gibt eine "richtige" Antwort, die R^2
über 0,99 hinausgeht.)
FF
"Verbrennungsausbeute" undAA
die Menge an Kraftstoff undBB
die Menge an Sauerstoff wären, würden Sie nach einem zusammenwirkenden Begriff vonAA
undBB
R^2 >= 0.99
möchte man diejenige mit dem besten Verhältnis von Leistung zu Komplexität finden (und natürlich nicht in die Stichprobe passen). Entschuldigung, dass ich dieseAntworten:
Um die am besten passende funktionale Form (so genannte Freiform oder symbolische Regression) für die Daten zu finden, probieren Sie dieses Tool aus - meines Wissens ist dies die beste verfügbare (zumindest bin ich sehr aufgeregt darüber) ... und ihre frei :-)
http://creativemachines.cornell.edu/eureqa
EDIT : Ich habe es mit Eureqa ausprobiert und ich würde gehen für:
mit R 2 = 0,99988
Ich würde es als perfekte Passform bezeichnen (Eureqa bietet andere, besser passende Lösungen, aber diese sind auch etwas komplizierter. Eureqa favorisiert diese, daher habe ich diese ausgewählt) - und Eureqa hat alles in ein paar Sekunden für mich erledigt ein normaler Laptop ;-)
quelle
allein ist kein gutes Maß für die Anpassungsgüte, aber lassen Sie uns hier nicht darauf eingehen, außer zu beobachten, dassSparsamkeitbei der Modellierung geschätzt wird.R2
Zu diesem Zweck ist zu beachten, dass Standardtechniken für explorative Datenanalyse (EDA) und Regression (jedoch nicht schrittweise oder andere automatisierte Verfahren) die Verwendung eines linearen Modells im Formular empfehlen
Mit OLS wird ein über 0,99 erreicht. Ermutigt durch ein solches Ergebnis ist man versucht , beide Seiten und Regress Quadratur f auf a , b * c , a * b * c , und alle ihre Quadrate und Produkte. Dies ergibt sofort ein ModellR2 f ein b ∗ c a ∗ b ∗ c
mit einer Wurzel-MSE von unter 34 und einem bereinigten von 0,9999R2 . Die geschätzten Koeffizienten von 1,0112 und 0,988 lassen vermuten, dass die Daten mit der Formel künstlich erzeugt werden können
plus ein wenig normalverteilter Fehler von SD ungefähr gleich 50.
Bearbeiten
Als Antwort auf die Hinweise von @knorv setzte ich die Analyse fort. Zu diesem Zweck habe ich die bisher erfolgreichen Techniken angewendet und mit der Prüfung der Streudiagramm-Matrizen der Residuen gegen die ursprünglichen Variablen begonnen. Sicher genug, gibt es eine klare Anzeige der Korrelation zwischen war und den Residuen (obwohl OLS Regression von f gegen eine , eine 2 , und b * c hat nicht zeigen eine „signifikante“ war). In diesem Sinne untersuchte ich alle Korrelationen zwischen den quadratischen Termen a 2 , … , e 2 , a ∗ein f ein ein2 b ∗ c ein ein2, … , E2, a ∗ b , a ∗ c , … , d∗ e b2
Auf jeden Fall ist eine verbesserte Passform gegeben durch
Übrigens, mit robuster Regression kann ich das Modell anpassen
mit einer restlichen SD von 27,4 und allen Residuen zwischen -51 und +47: im Wesentlichen so gut wie die vorherige Anpassung, jedoch mit einer Variablen weniger. In diesem Sinne ist es eher sparsam, aber weniger sparsam in dem Sinne, dass ich die Koeffizienten nicht auf "nette" Werte gerundet habe. Dies ist jedoch die Form, die ich normalerweise in einer Regressionsanalyse bevorzuge, wenn keine strengen Theorien darüber vorliegen, welche Arten von Werten die Koeffizienten haben sollten und welche Variablen einbezogen werden sollten.
quelle
Ihre Frage muss verfeinert werden, da die Funktion
f
mit ziemlicher Sicherheit nicht eindeutig durch die Beispieldaten definiert ist. Es gibt viele verschiedene Funktionen, die die gleichen Daten erzeugen können.Davon abgesehen kann die Varianzanalyse (ANOVA) oder eine "Sensitivitätsstudie" viel darüber aussagen, wie sich Ihre Eingaben (AA..EE) auf Ihre Ausgabe (FF) auswirken.
Ich habe gerade eine schnelle ANOVA und fand ein recht gutes Modell:
FF = 101*A + 47*B + 49*C - 4484
. Die Funktion scheint nicht linear von DD oder EE abhängig zu sein. Natürlich könnten wir das Modell weiterentwickeln und quadratische und gemischte Terme hinzufügen. Schließlich haben Sie ein perfektes Modell, das über die Daten passt und keinen prädiktiven Wert hat. :)quelle
Im Allgemeinen gibt es beim maschinellen Lernen kein kostenloses Mittagessen:
/ edit: auch eine radiale SVM mit C = 4 und Sigma = 0,206 ergibt leicht ein R2 von 0,99. Das Extrahieren der tatsächlichen Gleichung, die zum Ableiten dieses Datensatzes verwendet wird, bleibt der Klasse als Übung überlassen. Code ist in R.
quelle
Alle Modelle sind falsch, aber einige sind nützlich: GEPBox
Y (T) = - 4709,7
+ 102,60 * AA (T) - 17,0707 * AA (T-1)
+ 62,4994 * BB (T) + 41,7453 * CC (T) + 965,70 * ZZ (T)
Wobei ZZ (T) = 0 FÜR T = 1,10 = 1 ANDERWEITIG
Es scheint eine "verzögerte Beziehung" zwischen Y und AA und eine erklärte Verschiebung des Mittelwerts für die Beobachtungen 11-25 zu geben.
Seltsame Ergebnisse, wenn es sich nicht um chronologische oder räumliche Daten handelt.
quelle
ORDER BY
). Die Zeilen haben keine inhärente Sonderreihenfolge. So können Sie sie sicher neu anordnen, ohne Informationen zu verlieren. Entschuldigung, wenn ich Sie verwirrt habe :-)AA(T-1)
Ausdruck in Ihrer Gleichung macht in diesem Zusammenhang keinen Sinn.AA(T-1)
r Quadrat von 97,2
Schätzung / Diagnoseprüfung für Variable YY
X1 AAS
X2 BB
X3 BBS
X4 CC
Anzahl der Reste (R) = n 25
Anzahl der Freiheitsgrade = nm 20
Restmittel = Summe R / n -.141873E-05
Summe der Quadrate = Summe R 2 .775723E + 07
Varianz = SOS / (n) 310289.
Bereinigt Varianz = SOS / (nm) 387861.
Standardabweichung RMSE = SQRT (Adj Var) 622.785
Standardfehler des Mittelwerts = Standardabweichung / (nm) 139.259
Mittelwert / Standardfehler = Mittelwert / SEM -.101877E-07
Mittlere absolute Abweichung = Summe (ABS®) / n 455,684
AIC-Wert (Verwendet var) = nln + 2m 326,131
SBC-Wert (Verwendet var) = nln + m * lnn 332,226
BIC-Wert (Verwendet var) = siehe Seite 153 340,388
R-Quadrat = .972211
Durbin-Watson-Statistik = [- A (T -1)] ** 2 / A 2 1,76580
**
MODELLKOMPONENTE LAG COEFF STANDARD PT
# (BOP) FEHLERWERT WERT
EINGANGSSERIE X1 AAS AA QUADRATISCH
EINGANGSSERIE X2 BB BB WIE GEGEBEN
EINGANGSSERIE X3 BBS BB QUADRATISCH
EINGANGSSERIE X4 CC CC WIE GEGEBEN
quelle