如何計算 >10 個分量的加權和的方差珀爾https://stats.stackexchange.com/questions/5392/variance-of-two-weighted-random-variables ; A+B 的變異數為:

因此,可以想像>10個分量的加權和的計算將非常非常複雜。 想知道 JMP 是否有一種簡單的方法來執行計算。 謝謝!
回覆:如何計算 >10 個分量的加權和的方差謝謝並同意私訊可能更適合繼續討論! 很快就會私訊你。
回覆:如何計算 >10 個分量的加權和的方差Excel 中所報告的協方差矩陣是如何計算的?應該是(X-mu)`*X-mu)/(n-1)。
Excel 中的這種協方差對我來說看起來很奇怪。
我還是不懂你的數據:
- CR 和 BD 的 5 個值相同??
- 測量ID代表什麼? 為什麼有的有 5 個,有的有 23 個? 這是否代表單一設備上組件內的多個測量?
- 您能否提供用於計算協方差矩陣的 20 x 5 計算結果表?
注意:用於計算協方差的 20 個設備結果應代表隨機變化。 根據過去的經驗,我曾嘗試使用 20 個代表空間變化但不代表目標設備群體的組件。 由於這超出了 JMP 功能的範圍,因此私訊可能更適合繼續討論。
以下是使用 JMP 矩陣函數計算成對協方差的矩陣操作範例。
Names Default to Here(1);
dt = Open("$Sample_Data/Iris.jmp"); //a data file with 4 variables and mixed correlation
x = dt << get as matrix;
xb = emult( J(nrow(dt), ncol(x), 1) , V Mean(x) );
xc = x-xb;
cov = Covariance(x);
show( (xc`*xc)/(nrow(dt)-1) , cov);
/*: Log Output
(xc` * xc) / (N Row(dt) - 1) =
[ 0.685693512304251 -0.0424340044742729 1.27431543624161 0.516270693512304,
-0.0424340044742729 0.189979418344519 -0.329656375838926 -0.12163937360179,
1.27431543624161 -0.329656375838926 3.11627785234899 1.29560939597315,
0.516270693512304 -0.12163937360179 1.29560939597315 0.581006263982103];
cov =
[ 0.685693512304251 -0.0424340044742729 1.27431543624161 0.516270693512304,
-0.0424340044742729 0.189979418344519 -0.329656375838926 -0.12163937360179,
1.27431543624161 -0.329656375838926 3.11627785234899 1.29560939597315,
0.516270693512304 -0.12163937360179 1.29560939597315 0.581006263982103];
*/
回覆:如何計算 >10 個分量的加權和的方差忘記提供這 5 個測試案例的協方差矩陣。 使用相關矩陣和協方差矩陣更新了 xls。
順便說一句,相關矩陣和協方差矩陣是根據 20 個不同設備上的多次測量中每個測試案例的平均功耗生成的。
回覆:如何計算 >10 個分量的加權和的方差非常感謝您的回覆和解決方案! 鑑於提供的範例與我正在處理的情況不太相符,我還有兩個附加問題,其中包含附件中的簡化資料集。
如所附 xls 所示,有 5 個不同權重的不同元件(測試案例)。 每個測試案例對其相應的功耗(以 mA 為單位)都有不同數量的測量。
問題:
1. 加權總和後的功耗如何計算?
我的方法是使用每個測試案例的多次測量的平均(或中位數)功耗,然後根據權重將它們相加。
2. 如何計算加權和的變異數?
非常感謝您的幫忙!
回覆:如何計算 >10 個分量的加權和的方差您的參考文獻中引用的公式是用來估計計算變數的變異數的公式。 在經典的 Box、Hunter 和 Hunter 文本“實驗者統計”和較舊的文本中,它被稱為錯誤傳輸。 請注意,對於一般情況,權重總和不需要為 1。
對於許多變量,公式可能會很長,但可以使用矩陣代數進行簡化。
如果有實際數據,在JMP中計算很容易。請參閱下面的腳本。
Names Default to Here(1);
dt = Open("$Sample_Data/Iris.jmp"); //a data file with 4 variables and mixed correlation
x = dt << get as matrix;
w = [0.2 0.2 0.4 0.2];
cov = Covariance(x, <<"Pairwise");
wcov = Emult(w`*w, cov); //element wise multiplication
show(cov,wcov,sum(wcov)); /* log: Sum(wcov) = 0.943490362416108; */
//note the diagonal of wcov will be added once and each off diagonal twice, sum(wcov) will be the weighted variance
//now compute the weighted sum and find its variance, that is the std dev squared
dt << New Column("WSum", numeric, Continuous, <<SET each="" value=""></SET>