2016-03-05 45 views
0

我想獲得兩個不同系列的經驗分佈,p和q。獲得matlab變量的經驗分佈?

我使用了語法[f1,x]=ecdf(p)[f2,x]=ecdf(q)。雖然這是兩個完全不同的系列,但它們產生相同的值f1f2。我猜這是因爲matlab生成的節點點,x是默認選擇的,對於這兩個系列是相同的。什麼是生成ecdf的正確方法?

隨着p和q定義如下:

p=[3.827880237 3.843230114 3.832979798 3.814851094 3.798070125 3.793802374 3.790420184 3.758288905 3.703854270 3.699633917 3.722435113 3.685122405 3.671987586 3.677439264 3.673511977 3.706842154 3.69299597]; 

q=[3.832763324 3.848230872 3.835789699 3.819249605 3.802654468 3.801538272 3.800867956 3.763986927 3.711618941 3.703275334 3.744550651 3.688129173 3.673511977 3.681603045 3.679081612 3.716737782 3.702782359]; 
+0

有一些問題與您的數據,我似乎什麼邏輯,我更新它。 –

回答

1

你覆蓋你的X是不同的,如果你使用下面的代碼,你將有不同的曲線。

[f1,x1]=ecdf(p); 
[f2,x2]=ecdf(q); 

figure; plot(f1, x1, 'b', f2, x2, 'r'); 

累積分佈預期是不同的:

enter image description here

+0

x1和x2是不同的。但是f1和f2會一樣嗎?我得到的f1和f2的值相同 –

+0

我將進一步使用f1和f2的值在一個copula中生成多元分佈。所以產生不同的價值是重要的。任何幫助表示讚賞。 –

+0

如果我沒有錯,f是你的累積概率。由於你的數組中每個數字只有一個樣本,因此f1和f2從0到1完全是線性的,步長等於1除以向量的大小。 –