1

這裏我想比較兩個不同汽輪機的功率曲線。假設我們有兩個汽輪機1(有X =速度和X1 =功率值)和tb2兩個表tb1(有y =速度和y1 =功率值)。現在在tb1數據的幫助下;我計算binEdge(使用X),然後沒裝倉(使用1次),使性病的幫助和平均值,我們知道的分佈,你可以看到下面的代碼:在TB2通過使用參考曲線平均值和標準值比較和估算新曲線數據?

binEdges = linspace(min(X),max(X),numBins); 
[N,binEdges] = histcounts(X, binEdges); 

for i = 1:numBins 
flagBinMembers = (binEdges == i); 
binMembers = X1(flagBinMembers); 
BinMean(i) = mean(binMembers); 
BinStd(i)  = std(binMembers); 
end 

現在,我想要檢查速度或y分佈wrt高於計算的std和平均值的值。一旦我知道位置或分佈y或速度屬於哪個分佈,那麼我想通過進行一些概率測試來估計其相應的功率值。該功率可以用可用功率y1進一步驗證以查看天氣估計功率值是否正確。

+0

你是指「概率測試」,具體是什麼意思? –

+0

@OliverCharlesworth卡方檢驗概率分佈函數 –

+0

您是否嘗試搜索「Matlab卡方檢驗」? –

回答

1

如果你有統計和機器學習工具箱,以及所有你想要的是估計binMembers的參數,然後看看是否X1來自相同的分佈:

numBins = 5; 
binEdges = linspace(min(X),max(X),numBins); 
N = histcounts(X, binEdges); 

for k = 1:numBins-1 
    binMembers = X(X>=binEdges(k) & X<binEdges(k+1)); 
    if ~isempty(binMembers) 
     is_X1_fit = ~chi2gof(X1,'CDF',makedist('Normal',... 
      'mu',mean(binMembers),'sigma',std(binMembers))) 
    else 
      disp('bin is empty') 
    end 
end 

is_X1_fit將返回1,如果X1屬於binMembers分配,否則爲0。

+0

'CDF'是' chi2gof'函數,它用來比較分佈,就像你用PDF所做的一樣好,但PDF不是'chi2gof'的參數。無論如何,這只是將一個「概率分佈對象」傳遞給'chi2gof'。 – EBH

+0

這是另一個問題嗎?你的「數據」是X還是其他一些數據?你想和X1比較什麼? – EBH

+0

如果您無法理解問題,請致歉。因此,我用更多的描述寫下了代碼示例我的問題陳述。 –