Media mobile e media mobile ponderata su un set di datiCIAO,
Sto cercando di fare una media mobile e una media mobile ponderata sul set di dati che ho pubblicato di seguito.
Voglio fare una media mobile nella colonna "Media".
Posso anche ripetere questa formula per il gruppo "Campione" nel mio set di dati
Ri: Media mobile e media mobile ponderata su un set di datiNei casi in cui "Contatore" è inferiore a 5, è necessario regolare il divisore fino alla somma dei pesi per ciascuno di questi livelli, quindi il codice dovrebbe assomigliare a:
If( :sample != Lag( :sample, 1 ) | Row() == 1,
counter = 0
);
counter = counter + 1;
If(
counter == 1, :Mean1,
counter == 2, Mean( Lag( ::Mean1, 1 ) * 1, Lag( ::Mean1, 1 ) * 4 ) / 5,
counter == 3, Mean( Lag( ::Mean1, 1 ) * 1, Lag( ::Mean1, 1 ) * 4, Lag( ::Mean1, 1 ) * 6 ) / 11,
counter == 4,
Mean( Lag( ::Mean1, 1 ) * 1, Lag( ::Mean1, 1 ) * 4, Lag( ::Mean1, 1 ) * 6, Lag( ::Mean1, 1 ) * 4 ) /
15,
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 1
) / 16
);
Ri: Media mobile e media mobile ponderata su un set di datiIf( :esempio != Ritardo( :esempio, 1 ) | Riga() == 1,
contatore = 0
);
contatore = contatore + 1;
Se(
contatore == 1, :Media1,
contatore == 2, Media( Ritardo( ::Media1, 1 ) * 1, Ritardo( ::Media1, 1 ) * 4 ) / 16,
contatore == 3,
Media( Intervallo( ::Media1, 1 ) * 1, Intervallo( ::Media1, 1 ) * 4, Intervallo( ::Media1, 1 ) * 6 )
/16,
contatore == 4,
Significare(
Ritardo( ::Media1, 1 ) * 1,
Ritardo( ::Media1, 1 ) * 4,
Ritardo( ::Media1, 1 ) * 6,
Ritardo( ::Media1, 1 ) * 4
) / 16,
Significare(
Ritardo( ::Media1, 1 ) * 1,
Ritardo( ::Media1, 1 ) * 4,
Ritardo( ::Media1, 1 ) * 6,
Ritardo( ::Media1, 1 ) * 4,
Ritardo( ::Media1, 1 ) * 1
) / 16
);
La formula sarà simile a questa oppure dovrò dividere il ritardo dei pesi 1 e 4 per 5 e così via?
Ri: Media mobile e media mobile ponderata su un set di datiLa funzione Col Moving Average() è stata aggiunta in JMP 13. Quindi, per JMP 12 dovrai utilizzare il codice che ho fornito. E tutto quello che devi fare è aggiungere la divisione per 16 al codice. Assicurati di dividere i sottoinsiemi di ritardo 1,2,3,4 con il sottoinsieme appropriato dei 16
Ri: Media mobile e media mobile ponderata su un set di datiNon vedo la funzione Col Moving Average in JMP 12
Ri: Media mobile e media mobile ponderata su un set di datiNon vedo la funzione Col Moving Average in JMP 12
Ri: Media mobile e media mobile ponderata su un set di datiQuesta formula dividerà la media ponderata per la somma dei pesi pari a 16?
Non ottengo la risposta prevista utilizzando la formula
Ri: Media mobile e media mobile ponderata su un set di datiVedi la nota in fondo a questa risposta
La formula che utilizza la funzione indice() non funzionerà per un calcolo ponderato. Ciò che presumo tu voglia fare è illustrato dalla seguente formula
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 1
);
Questa struttura non consente il semplice calcolo a 2 livelli, quindi deve essere ampliata, ma sostanzialmente è la stessa logica
If( :sample != Lag( :sample, 1 ) | Row() == 1,
counter = 0;
);
counter = counter + 1;
If( counter == 1,
:Mean1,
counter ==2,
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4
),
counter ==3,
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6
),
counter ==4,
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4
),
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 1
)
);
E dopo tutto questo, ho trovato la funzione Col Moving Average(). Quindi non fare nulla di quanto sopra suggerito, invece, vai a
Aiuto==>Indice script==>Col media mobile
e otterrai un'unica funzione che farà tutto ciò che hai richiesto
Ri: Media mobile e media mobile ponderata su un set di datiCome posso fare una media mobile ponderata con la formula sopra con i coefficienti 1,4,6,4,1?
Ri: Media mobile e media mobile ponderata su un set di datiGrazie per le risposte tempestive. Ha funzionato per il mio set di dati
Ri: Media mobile e media mobile ponderata su un set di datiÈ solo una semplice estensione della tua formula. Devi solo tenere traccia di quando cambia :Sample e quindi avviare i calcoli da zero
If( :sample != Lag( :sample, 1 ) | Row() == 1,
counter = 0;
startrow = Row();
);
counter = counter + 1;
If( counter < 3,
Mean( :Mean1[Index( startrow, Row() )] ),
Mean( :Mean1[Index( Row() - (3 - 1), Row() )] )
);
Ri: Media mobile e media mobile ponderata su un set di datiSono riuscito a ottenere la media mobile a 3 punti utilizzando la formula.
"Se(Riga() < 3,
Media( :Media1[Indice( 1, Riga() )] ),
Media( :Media1[Indice( Riga() - (3 - 1), Riga() )] )
)"
Come posso farlo per gruppo per la colonna "Campione"?
Per ogni valore di Sample desidero una media mobile per i valori "Mean1" e ho 239 valori Sample.
grazie per l'aiuto
Ri: Media mobile e media mobile ponderata su un set di datiL'utilizzo di una formula per definire i valori di una colonna è una parte essenziale di JMP. Ciò è ben documentato nel libro JMP intitolato "Utilizzo di JMP". Ti suggerisco di leggere quel libro. È stato installato sul computer durante l'installazione di JMP. Puoi accedervi dal menu a discesa Aiuto
Aiuto==>Libri==>Utilizzo di JMP
Indipendentemente da ciò, ecco come utilizzare la formula che ti ho fornito, crea una nuova colonna nella tabella dei dati, quindi fai clic con il pulsante destro del mouse sull'intestazione della colonna e seleziona "Formula"

Come puoi vedere nel mio esempio, ho chiamato la nuova colonna "Media mobile"
La prossima finestra che si aprirà è l'editor delle formule

Ti consente di puntare, fare clic e creare qualsiasi formula desideri. Tuttavia, puoi anche fare doppio clic nella casella blu delineata che contiene la dicitura "nessuna formula" e verrà visualizzato l'editor

Come visto nella finestra sopra, ho appena digitato la formula oppure posso incollarla nella finestra. Quindi quando fai clic sul pulsante "OK", vedrai la forma grafica della formula

Quindi, quando si fa clic sul pulsante "OK" o sul pulsante "Applica", la formula verrà eseguita per la nuova colonna

Ri: Media mobile e media mobile ponderata su un set di datiCiao TXNELSON,
Hai suggerito la formula seguente per la media mobile per la colonna "Punti"? E stai utilizzando la formula Media()?
Come posso inserirlo in un ciclo for per farlo su tutte le righe?
Inoltre voglio farlo per gruppo
Ri: Media mobile e media mobile ponderata su un set di datiEcco una formula della media mobile
Mean( Lag( :Points, 1 ),
Lag( :Points, 2 ),
Lag( :Points, 3 ),
Lag( :Points, 4 ),
Lag( :Points, 5 )
)
e una media mobile ponderata
Mean(
Lag( :points, 1 ) * :mean,
Lag( :points, 2 ) * :mean,
Lag( :points, 3 ) * :mean,
Lag( :points, 4 ) * :mean,
Lag( :points, 5 ) * :mean
)