Testing for statistical independence of two vectors
15 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I'm a new Matlab user and was trying to test if two vectors (time series of temperature) are statistically independent. I know that their joint pdf has to be the product of the individual pdfs, but how to do that? Is there another way where one can say, to a certain confidence level (say 95%), that two time series are statistically independent.
Many thanks
0 件のコメント
回答 (4 件)
Roger Stafford
2014 年 2 月 22 日
編集済み: Roger Stafford
2014 年 2 月 22 日
It is a frequent mistake to assume that uncorrelated random variables must be independent. Actually that is true only if the random variables are known to be of a multivariate normal distribution. Otherwise, testing that they are independent is much more difficult. Basically it involves breaking the intersections of their two ranges into a meshwork of little boxes. If the probabilities of samples that fall in each box can be approximated by the product of the marginal sample probabilities of each random variable for the two corresponding box ranges, then they are (approximately) independent. The finer the meshwork, and the larger the sample count, the more reliable the independence finding is.
Often independence is established more on a theoretical basis than by such testing. For example, when we see two coins flipped that have no obvious connection we feel that their toss results must be independent.
In the case of your two vectors it will be necessary to have very long vectors so as to have a reasonable chance to fill each "box" with sufficiently many samples to make your judgement of independence or non-independence reliable. There is no shortcut to doing this.
Paul
2014 年 2 月 22 日
Correlation is one method to check dependence:
x=1:100;
y=1:100;
correl = corr(x(:),y(:))
x=rand(1,100);
y=rand(1,100);
correl_rand = corr(x(:),y(:))
2 件のコメント
Star Strider
2014 年 2 月 22 日
編集済み: Star Strider
2014 年 2 月 22 日
I suggest corrcoef. It gives the correlation coefficients, and if you ask it to, will return statistics on the correlations, including probabilities and 95% confidence intervals.
EDIT -- It took some searching, but Statistical Tests of Indepepdence may be what you’re looking for. It describes itself:
‘This package contains Matlab implementations of three statistical hypothesis tests for independence: a kernel test, as described in GreEtAl08a; and tests based on the L1 and log-likelihood, as described in GreEtAl08b,GreEtAl10.’
1 件のコメント
saba g
2018 年 10 月 24 日
Hi Star,
I think this package is the only in measuring the statistical test of independence. Actually, I have a problem in interpreting the results. I expected that my datasets are independent. I used the 'hiscTestGamma' function and the result shows me that the Threshold is 0.3 and the testStat is 70. I really get surprised I am not sure if these values show me that my datasets are not independence? I really appreciate your any kind of advice.
Soumojit Bose
2017 年 11 月 14 日
If the joint PDF of the two variables is Gaussian, then in that case, 'uncorrelated' implies 'statistical independence'. This can be proved.
1 件のコメント
John D'Errico
2018 年 10 月 24 日
I think you are making a mistake here. It is entirely possible for two random variables to have a zero sample correlation, yet not be uncorrelated. Or they can have a non-zero correlation, yet be fully independent. A sample statistic does not prove correlation, it only provides evidence thereof.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!