Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzHallo,
Ich versuche, einen gleitenden Durchschnitt und einen gewichteten gleitenden Durchschnitt für den Datensatz zu ermitteln, den ich unten gepostet habe.
Ich möchte einen gleitenden Durchschnitt für die Spalte „Mittelwert“ erstellen.
Kann ich diese Formel auch für die Gruppe „Beispiel“ in meinem Datensatz wiederholen?
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzIn den Fällen, in denen „Zähler“ weniger als 5 beträgt, müssen Sie den Divisor auf die Summe der Gewichtungen für jede dieser Ebenen anpassen, sodass der Code wie folgt aussehen sollte:
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
);
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzIf( :sample != Lag( :sample, 1 ) | Row() == 1,
Zähler = 0
);
Zähler = Zähler + 1;
Wenn(
Zähler == 1, :Mittelwert1,
counter == 2, Mean( Lag( ::Mean1, 1 ) * 1, Lag( ::Mean1, 1 ) * 4 ) / 16,
Zähler == 3,
Mean( Lag( ::Mean1, 1 ) * 1, Lag( ::Mean1, 1 ) * 4, Lag( ::Mean1, 1 ) * 6 )
/ 16,
Zähler == 4,
Bedeuten(
Verzögerung( ::Mittelwert1, 1) * 1,
Verzögerung( ::Mittel1, 1 ) * 4,
Verzögerung( ::Mittelwert1, 1) * 6,
Verzögerung( ::Mittelwert1, 1) * 4
) / 16,
Bedeuten(
Verzögerung( ::Mittelwert1, 1) * 1,
Verzögerung( ::Mittel1, 1 ) * 4,
Verzögerung( ::Mittelwert1, 1) * 6,
Verzögerung( ::Mittel1, 1 ) * 4,
Verzögerung( ::Mittelwert1, 1) * 1
) / 16
);
Wird die Formel so aussehen oder muss ich den Lag der Gewichtungen 1 und 4 durch 5 teilen und so weiter?
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzDie Funktion „Col Moving Average()“ wurde in JMP 13 hinzugefügt. Für JMP 12 müssen Sie also den von mir bereitgestellten Code verwenden. Und alles, was Sie tun müssen, ist, die Division durch 16 zum Code hinzuzufügen. Stellen Sie sicher, dass Sie die 1,2,3,4-Lag-Teilmengen durch die entsprechende Teilmenge der 16 dividieren
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzIch sehe die Funktion „Col Moving Average“ in JMP 12 nicht
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzIch sehe die Funktion „Col Moving Average“ in JMP 12 nicht
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzWird diese Formel den gewichteten Mittelwert durch die Gewichtssumme von 16 dividieren?
Mit der Formel erhalte ich nicht die erwartete Antwort
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzSiehe den Hinweis am Ende dieser Antwort
Die Formel, die die Funktion index() verwendet, wird für eine gewichtete Berechnung nicht funktionieren. Was Sie vermutlich tun möchten, wird durch die folgende Formel veranschaulicht
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 1
);
Diese Struktur ermöglicht keine einfache 2-Ebenen-Berechnung und muss daher erweitert werden, ist aber im Grunde die gleiche Logik
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
)
);
Und nach all dem habe ich die Funktion Col Moving Average() gefunden. Tun Sie also nichts weiter als das, was ich vorgeschlagen habe, sondern gehen Sie stattdessen zu
Hilfe==>Skriptindex==>Gleitender Spaltendurchschnitt
und Sie erhalten eine einzige Funktion, die alles erledigt, wonach Sie gefragt haben
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzWie kann ich mit der obigen Formel einen gewichteten gleitenden Durchschnitt mit den Koeffizienten 1,4,6,4,1 erstellen?
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzVielen Dank für Ihre prompten Antworten. Bei meinem Datensatz hat es funktioniert
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzEs ist nur eine einfache Erweiterung Ihrer Formel. Sie müssen nur im Auge behalten, wann sich :Sample ändert, und dann die Berechnungen von vorne beginnen
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() )] )
);
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzIch konnte den gleitenden 3-Punkte-Durchschnitt ermitteln und die Formel auch anwenden.
„If( Row() < 3,
Mittelwert( :Mittelwert1[Index( 1, Zeile() )] ),
Mean( :Mean1[Index( Row() - (3 - 1), Row() )] )
)"
Wie kann ich dies nach Gruppe für die Spalte „Beispiel“ tun?
Für jeden Wert von Sample möchte ich einen gleitenden Durchschnitt für die „Mean1“-Werte und ich habe 239 Sample-Werte.
Ich danke Ihnen für Ihre Hilfe
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzDie Verwendung einer Formel zum Definieren der Werte einer Spalte ist ein wesentlicher Bestandteil von JMP. Es ist im JMP-Buch „Using JMP“ ausführlich dokumentiert. Ich empfehle Ihnen, dieses Buch zu lesen. Es wurde bei der Installation von JMP auf Ihrem Computer installiert. Sie gelangen dazu über das Pulldown-Menü „Hilfe“.
Hilfe==>Bücher==>JMP verwenden
Unabhängig davon erfahren Sie hier, wie Sie die von mir bereitgestellte Formel verwenden: Erstellen Sie eine neue Spalte in Ihrer Datentabelle, klicken Sie dann mit der rechten Maustaste auf die Spaltenüberschrift und wählen Sie „Formel“.

Wie Sie in meinem Beispiel sehen können, habe ich die neue Spalte „Gleitender Durchschnitt“ genannt.
Das nächste Fenster, das sich öffnet, ist der Formeleditor

Sie können mit der Maus darauf zeigen und klicken und beliebige Formeln erstellen. Sie können jedoch auch auf das blau umrandete Feld mit der Aufschrift „keine Formel“ doppelklicken und der Editor wird angezeigt

Wie im obigen Fenster zu sehen ist, habe ich die Formel einfach eingegeben, oder sie kann in das Fenster eingefügt werden. Wenn Sie dann auf die Schaltfläche „OK“ klicken, sehen Sie die grafische Form der Formel

Wenn Sie dann auf die Schaltfläche „OK“ oder „Übernehmen“ klicken, wird die Formel für die neue Spalte ausgeführt

Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzHallo Txnelson,
Haben Sie die folgende Formel für den gleitenden Durchschnitt für die Spalte „Punkte“ vorgeschlagen? Und verwenden Sie die Mean()-Formel?
Wie kann ich das in eine for-Schleife einfügen, um es über alle Zeilen zu machen?
Außerdem möchte ich dies nach Gruppe tun
Betreff: Gleitender Durchschnitt und gewichteter gleitender Durchschnitt für einen DatensatzHier ist eine Formel für den gleitenden Durchschnitt
Mean( Lag( :Points, 1 ),
Lag( :Points, 2 ),
Lag( :Points, 3 ),
Lag( :Points, 4 ),
Lag( :Points, 5 )
)
und ein gewichteter gleitender Durchschnitt
Mean(
Lag( :points, 1 ) * :mean,
Lag( :points, 2 ) * :mean,
Lag( :points, 3 ) * :mean,
Lag( :points, 4 ) * :mean,
Lag( :points, 5 ) * :mean
)