Ho cercato lo stack overflow e non ho trovato nessuna domanda che sia realmente uguale alla mia perché nessuno ha davvero più di una variabile indipendente. Fondamentalmente ho una serie di punti dati e voglio essere in grado di trovare un'equazione di regressione per quei punti dati. Il codice che ho sembra finora così: (w, x, z sono le variabili indipendenti ed y è la variabile dipendente)Come trovare l'equazione di regressione multivariabile in javascript
var dataPoints = [{
"w" : 1, "x" : 2, "z" : 1, "y" : 7
}, {
"w" : 2, "x" : 1, "z" : 4, "y" : 5
}, {
"w" : 1, "x" : 5, "z" : 3, "y" : 2
}, {
"w" : 4, "x" : 3, "z" : 5, "y" : 15
}];
desidero una funzione che restituisce un oggetto formula in questo modo:
var regressionEquation = [{
"var" : "w", "power" : 1, "coeff" : "1.5"
}, {
"var" : "x", "power" : 1, "coeff" : "2"
}, {
"var" : "z", "power" : 1, "coeff" : "1"
}];
C'è un modo per elaborare un'equazione di regressione come questa senza utilizzare un ciclo per eseguire il passo e collegare i valori? C'è un modo per elaborare l'equazione di regressione per poteri che sono più di 1? Grazie in anticipo.
EDIT
Molte persone hanno suggerito la soluzione di un sistema di equazioni realizzati inserendo nei poteri. Il problema che ho con questo è quando ci sono più di punti dati sufficienti per risolvere un sistema di equazioni. Negli esempi nella domanda, ho 3 variabili per risolvere il sistema di equazioni che le persone suggeriscono, avrei bisogno di 3 punti dati ma ne ho 4. Questo porta ad un problema perché c'è più di una soluzione. Ci sono 4 possibili soluzioni perché ci sono 4 modi per combinare le 4 equazioni in diversi gruppi di 3. Questo mi lascerebbe con 4 risposte con possibilmente nessuna di loro la migliore adatta a tutti e 4 i punti.
Stai pensando a qualcosa come l'interpolazione polinomiale? (https://en.wikipedia.org/wiki/Polynomial_interpolation) Ho scritto alcuni js per farlo prima attraverso le operazioni su una matrice Vandermonde. – sgcharlie
No Vorrei trovare un'equazione di regressione e quindi estrapolare –
in modo da avere la funzione w = ax^k1 + per^k2 + cz^k3 in cui si desidera trovare a, b, c, k1, k2 e k3 adatti al proprio dati? –