2017-02-11 4 views
1

wenn ich zwei Reihen von Daten: a = [1 4 6 3 4 6 7 8]; b [34 56 34 56 79 23 48 28]; Dann kann ich die Spearman und Pearson Korrelationskoeffizient finden jeweils als: RHO= corr(a',b','Type','Spearman'); für pearson Korrelation ich kann, verwenden: r=corr2(a,b) oderPearson und Spearman-Korrelation und die entsprechenden 95% und 99% Konfidenzniveau in Matlab

[R] = corr(a',b','Type','pearson') 

was das Konfidenzniveau sein (95% und 99%) sowohl für pearson und spearman Korrelation. Ich brauche das Ergebnis wie in dem gegebenen Beispiel. let,

pearson correlation r=0.76 

spearman rank correlation r=0.65 

95% confidence level=0.34 

99% confidence level=0.42 

Hinweis: Meine Werte von Korrelationskoeffizienten und Konfidenzniveau sind die allgemeinen, sie sind nicht für gegeben ‚a‘ und ‚b‘ Werte oben. danke.

Antwort

0

Sie können corrcoef dafür verwenden. Für Konfidenzintervall von 95% Schreib:

[R,~,RL,RU] = corrcoef(a.',b.') 

Und für andere Konfidenzintervall, fügen Sie die alpha (CI = 100 * (1-alpha)%):

[R,~,RL,RU] = corrcoef(a.',b.','alpha',0.01) 

RL und RU sind die unteren und obere Grenzen der Korrelation.

EDIT:

Spearman Korrelation Konfidenzintervall Sie fisher transformation benötigen, die arctanh (r):

RHO = corr(a.',b.','Type','Spearman'); 
n = numel(a); 
STE = 1/sqrt(n-3); 
% here the input is 95% confidence interval, for 99% use 0.99: 
CI = norminv(0.95); 
upper_bound = tanh(atanh(RHO)+CI*STE); 
lower_bound = tanh(atanh(RHO)-CI*STE); 
+0

Dank bro, ich weiß, dass die Funktion [R, ~, RL, RU ] = corrcoef (a. ', b.', 'alpha', 0.01) kann mir das 99% -Konfidenzintervall des Pearson-Korrelationskoeffizienten geben, aber wie das Konfidenzintervall des Spearman-Korrelationskoeffizienten zu finden ist –

Verwandte Themen