Testing for statistical independence of two vectors
20 次查看(过去 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!