2013-04-08 4 views

उत्तर

0

इस

http://stevegardner.net/2012/06/11/javascript-code-to-calculate-the-pearson-correlation-coefficient/

अलग से है कि आप की कोशिश कर सकते

है:

http://www.jstat.org/download

वैकल्पिक रूप से अगर उन में से कोई भी बिल को फिट और आप एक अपने आप को लिखने के लिए नहीं करना चाहते हैं आप हमेशा उपयोग कर सकते हैं:

http://www.rforge.net/Rserve/

साथ

http://www.gardenersown.co.uk/education/lectures/r/correl.htm

यह करने के लिए

+0

क्या जेस्टैट मोती या भाषण करता है? मुझे केवल दस्तावेज़ों में उल्लिखित "सहसंबंध गुणांक" दिखाई देता है, लेकिन विशेष रूप से मोती नहीं। – trusktr

+0

@trusktr ऐसा लगता है कि आप सही हैं, क्षमा करें, मैंने सोचा कि यह किया है। –

+0

सहसंबंध गुणांक आमतौर पर पियरसन है, है ना? और स्पीरमैन आपके डेटा के रैंक पर पियरसन से कम कुछ नहीं है, है ना? – Myoch

1

इस प्रयास करें:

function spearmanCorrelation(multiList, p1, p2){ 
    N=multiList[p1].length; 
    order=[]; 
    sum=0; 

    for(i=0;i<N;i++){ 
     order.push([multiList[p1][i], multiList[p2][i]]); 
    } 

    order.sort(function(a,b){ 
     return a[0]-b[0] 
    }); 

    for(i=0;i<N;i++){ 
     order[i].push(i+1); 
    } 

    order.sort(function(a,b){ 
     return a[1]-b[1] 
    }); 

    for(i=0;i<N;i++){ 
     order[i].push(i+1); 
    } 
    for(i=0;i<N;i++){ 
     sum+=Math.pow((order[i][2])-(order[i][3]), 2); 

    } 

    r=1-(6*sum/(N*(N*N-1))); 

    return r; 
} 
1

तो यहाँ मेरे दो पैसे मामले पर लायक है - पियर्सन सहसंबंध:

const pcorr = (x, y) => { 
 
    let sumX = 0, 
 
    sumY = 0, 
 
    sumXY = 0, 
 
    sumX2 = 0, 
 
    sumY2 = 0; 
 
    const minLength = x.length = y.length = Math.min(x.length, y.length), 
 
    reduce = (xi, idx) => { 
 
     const yi = y[idx]; 
 
     sumX += xi; 
 
     sumY += yi; 
 
     sumXY += xi * yi; 
 
     sumX2 += xi * xi; 
 
     sumY2 += yi * yi; 
 
    } 
 
    x.forEach(reduce); 
 
    return (minLength * sumXY - sumX * sumY)/Math.sqrt((minLength * sumX2 - sumX * sumX) * (minLength * sumY2 - sumY * sumY)); 
 
}; 
 
pcorr([20, 54, 54, 65, 45], [22, 11, 21, 34, 87]);

0

मैं Github पर Spearson परियोजना here इस्तेमाल किया। मैंने स्पीरमैन सहसंबंध के लिए इसका परीक्षण किया है और यह इसके लिए सटीक मूल्य देता है।

मैंने रिपो के /lib फ़ोल्डर में spearson.js फ़ाइल डाउनलोड की है। यहाँ कैसे ब्राउज़र में इसका इस्तेमाल करने के तरीके:

<script src="spearson.js"></script>

<script> 
    var x = [3, 4, 5]; 
    var y = [.1, .2, .3]; 
    var corr = spearson.correlation.spearman(x, y); 
</script> 

इसी तरह, आप पियर्सन सहसंबंध के लिए correlation.pearson उपयोग कर सकते हैं।

संबंधित मुद्दे