數據集的移動平均線和加權移動平均線你好,
我正在嘗試對下面發布的數據集進行移動平均線和加權移動平均線。
我想對“平均值”列進行移動平均。
我也可以通過數據集中的“樣本”組重複這個公式
回复:數據集的移動平均線和加權移動平均線對於“Counter”小於 5 的情況,您需要將除數調整為每個級別的權重總和,因此代碼應如下所示:
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
);
回复:數據集的移動平均線和加權移動平均線If( :sample != Lag( :sample, 1 ) | Row() == 1,
計數器 = 0
);
計數器 = 計數器 + 1;
如果(
計數器== 1,:平均值1,
計數器 == 2, 平均值( 滯後(::Mean1, 1 ) * 1, 滯後(::Mean1, 1 ) * 4 ) / 16,
計數器== 3,
平均值( 滯後(::Mean1, 1 ) * 1, 滯後(::Mean1, 1 ) * 4, 滯後(::Mean1, 1 ) * 6 )
/ 16、
計數器== 4,
意思是(
滯後(::Mean1, 1) * 1,
滯後(::Mean1, 1) * 4,
滯後(::Mean1, 1) * 6,
滯後(::Mean1, 1) * 4
) / 16,
意思是(
滯後(::Mean1, 1) * 1,
滯後(::Mean1, 1) * 4,
滯後(::Mean1, 1) * 6,
滯後(::Mean1, 1) * 4,
滯後(::Mean1, 1) * 1
) / 16
);
公式是這樣的還是我必須將權重 1 和 4 的滯後除以 5 等等?
回复:數據集的移動平均線和加權移動平均線JMP 13 中添加了 Col Moving Average() 函數。因此,對於 JMP 12,您將需要使用我提供的代碼。 您所需要做的就是將除以 16 的運算添加到代碼中。 確保將 1,2,3,4 滯後子集除以 16 的適當子集
回复:數據集的移動平均線和加權移動平均線我在 JMP 12 中沒有看到 Col Moving Average 函數
回复:數據集的移動平均線和加權移動平均線我在 JMP 12 中沒有看到 Col Moving Average 函數
回复:數據集的移動平均線和加權移動平均線這個公式會將加權平均值除以權重總和 16 嗎?
我沒有使用公式得到預期的答案
回复:數據集的移動平均線和加權移動平均線請參閱此回复底部的註釋
使用 index() 函數的公式不適用於加權計算。 我假設你想要做的由以下公式說明
Mean(
Lag( ::Mean1, 1 ) * 1,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 6,
Lag( ::Mean1, 1 ) * 4,
Lag( ::Mean1, 1 ) * 1
);
該結構不允許簡單的2級計算,因此必須對其進行擴展,但邏輯基本相同
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
)
);
在完成所有這些之後,我找到了 Col Moving Average() 函數。 因此,不要執行我建議的上述任何操作,而是轉到
幫助==>腳本索引==>Col 移動平均線
你將得到一個可以完成你所要求的一切的功能
回复:數據集的移動平均線和加權移動平均線如何使用上述公式和係數 1,4,6,4,1 進行加權移動平均線?
回复:數據集的移動平均線和加權移動平均線感謝您的及時回复。它適用於我的數據集
回复:數據集的移動平均線和加權移動平均線這只是您的公式的簡單擴展。 您只需跟踪 :Sample 何時發生變化,然後從頭開始計算
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() )] )
);
回复:數據集的移動平均線和加權移動平均線我能夠使用 3 點移動平均線。我也能夠應用該公式。
“如果(行()< 3,
平均值( :平均值1[索引( 1, 行() )] ),
平均值( :Mean1[索引( 行() - (3 - 1), 行() )] )
)”
我可以為“樣本”列按組執行此操作嗎?
對於 Sample 的每個值,我想要“Mean1”值的移動平均值,並且我有 239 個 Sample 值。
感謝您的幫助
回复:數據集的移動平均線和加權移動平均線使用公式定義列的值是 JMP 的重要組成部分。 它在名為“Using JMP”的 JMP 書中有詳細記錄。 我建議你讀那本書。 當您安裝 JMP 時,它已安裝在您的計算機上。 您可以在“幫助”下拉菜單下找到它
幫助==>書籍==>使用JMP
無論如何,以下是如何使用我為您提供的公式,在數據表中創建一個新列,然後右鍵單擊列標題並選擇“公式”

正如您在我的示例中看到的,我將新列命名為“移動平均線”
將打開的下一個窗口是公式編輯器

它允許您點擊並創建您想要的任何公式。 但是,您也可以雙擊帶有“無公式”字樣的藍色框,編輯器將會出現

如上面的窗口所示,我只是輸入了公式,也可以將其粘貼到窗口中。 然後當您單擊“確定”按鈕時,您將看到公式的圖形形式

然後,當您單擊“確定”按鈕或“應用”按鈕時,將為新列運行公式

回复:數據集的移動平均線和加權移動平均線嗨特克斯尼爾森,
以下公式是您建議的“點”列的移動平均值嗎?您正在使用 Mean() 公式嗎?
如何將其放入 for 循環中以對所有行執行此操作?
我也想按組執行此操作
回复:數據集的移動平均線和加權移動平均線這是移動平均線公式
Mean( Lag( :Points, 1 ),
Lag( :Points, 2 ),
Lag( :Points, 3 ),
Lag( :Points, 4 ),
Lag( :Points, 5 )
)
和加權移動平均線
Mean(
Lag( :points, 1 ) * :mean,
Lag( :points, 2 ) * :mean,
Lag( :points, 3 ) * :mean,
Lag( :points, 4 ) * :mean,
Lag( :points, 5 ) * :mean
)