Equazioni per 2 Regressione lineare variabile
-
19-08-2019 - |
Domanda
Stiamo usando un linguaggio di programmazione che non ha una funzione di regressione lineare. Abbiamo già implementato una singola equazione lineare variabile:
y = Ax + B
e hanno semplicemente calcolato i coefficienti A e B dai dati utilizzando una soluzione simile a questa risposta Stack Overflow .
So che questo problema diventa geometricamente più difficile con l'aggiunta di variabili, ma per i nostri scopi, dobbiamo solo aggiungerne uno in più:
z = Ax + By + C
Qualcuno ha le equazioni in forma chiusa, o codice in qualsiasi linguaggio che può risolvere per A, B e C, dato un array di x, ye z?
Soluzione
quindi hai tre equazioni lineari
k = aX1 + bY1 + cZ1
k = aX2 + bY2 + cZ2
k = aX3 + bY3 + cZ3
Quello che puoi fare è riscriverlo come matriz
| x1 y1 z1 | | a | | k |
| x2 y2 z2 | | b | = | k |
| x3 y3 y3 | | c | | k |
per elaborare [a b c]
esegui la seguente operazione di matrice
| a | | x1 y1 z1 | | k |
| b | = inverse( | x2 y2 z2 | ) | k |
| c | | x3 y3 y3 | | k |
La formula per un inverso di matrice 3x3 è disponibile qui
Altri suggerimenti
Sì, è un problema di algebra lineare semplice se lo pensi nel modo Gil Strang . Ecco una spiegazione scritta.
Puoi usare MatLab o il calcolo deve avvenire all'interno del tuo software?
Istruzioni MatLab su analisi di regressione multipla .