के साथ दिए गए सहसंबंध हैं, एक शैक्षणिक वेबसाइट के लिए, यह मेरा उद्देश्य है कि छात्रों को मूल्य श्रृंखला और उनके सहयोग के साथ कुछ हद तक बेवकूफ बना दिया जाए। उदाहरण के लिए, छात्रों को दो सरणियों जिसके लिए सहसंबंध गणना की जाती है में प्रवेश कर सकते हैं:मूल्यों की एक यादृच्छिक श्रृंखला (बी) की गणना कैसे करें, जिसमें किसी दिए गए श्रृंखला (ए)
$array_x = array(5,3,6,7,4,2,9,5);
$array_y = array(4,3,4,8,3,2,10,5);
echo Correlation($array_x, $array_y); // 0.93439982209434
इस के लिए कोड पूरी तरह से काम करता है और इस पोस्ट के नीचे पाया जा सकता है। हालांकि अब मुझे एक चुनौती का सामना करना पड़ रहा है। क्या मैं चाहता हूँ निम्नलिखित है:
- छात्र एक $ श्रेणी_ आदानों (5,3,6,7,4,2,9,5)
- छात्र एक संबंध आदानों (0,9)
- छात्र आदानों $ array_y की सीमाएं (उदाहरण के लिए, 1 और 10 के बीच या 50 से 80 के बीच)
- स्क्रिप्ट एक यादृच्छिक सरणी देता है (उदाहरण के लिए: 4,3,4,8,3,2,10,5) जिसमें (के बारे में) दिए गए सहसंबंध
तो, दूसरे शब्दों में, कोड को काम करना होगा:
$array_x = array(5,3,6,7,4,2,9,5);
$boundaries = array(1, 10);
$correlation = 0.9;
echo ySeries($array_x, $boundaries, $correlation); // array(4,3,4,8,3,2,10,5)
Stackexchange मठ मंच पर, @ilya (एक छवि के रूप में सम्मिलित किया गया है, क्योंकि fomulas की लेटेक्स स्वरूपण stackoverflow पर काम करने के लिए नहीं है) उसका उत्तर:
पी.एस. सहसंबंध की गणना करने के लिए प्रयोग किया जाता कोड:,
function Correlation($arr1, $arr2) {
$correlation = 0;
$k = SumProductMeanDeviation($arr1, $arr2);
$ssmd1 = SumSquareMeanDeviation($arr1);
$ssmd2 = SumSquareMeanDeviation($arr2);
$product = $ssmd1 * $ssmd2;
$res = sqrt($product);
$correlation = $k/$res;
return $correlation;
}
function SumProductMeanDeviation($arr1, $arr2) {
$sum = 0;
$num = count($arr1);
for($i=0; $i < $num; $i++) {
$sum = $sum + ProductMeanDeviation($arr1, $arr2, $i);
}
return $sum;
}
function ProductMeanDeviation($arr1, $arr2, $item) {
return (MeanDeviation($arr1, $item) * MeanDeviation($arr2, $item));
}
function SumSquareMeanDeviation($arr) {
$sum = 0;
$num = count($arr);
for($i = 0; $i < $num; $i++) {
$sum = $sum + SquareMeanDeviation($arr, $i);
}
return $sum;
}
function SquareMeanDeviation($arr, $item) {
return MeanDeviation($arr, $item) * MeanDeviation($arr, $item);
}
function SumMeanDeviation($arr) {
$sum = 0;
$num = count($arr);
for($i = 0; $i < $num; $i++) {
$sum = $sum + MeanDeviation($arr, $i);
}
return $sum;
}
function MeanDeviation($arr, $item) {
$average = Average($arr);
return $arr[$item] - $average;
}
function Average($arr) {
$sum = Sum($arr);
$num = count($arr);
return $sum/$num;
}
function Sum($arr) {
return array_sum($arr);
}
इस समस्या के बारे में दिलचस्प क्या है कि आप एक उपकरण के साथ छात्रों को प्रदान करने का एक तरीका ढूंढ रहे हैं, यदि मैं सही प्रश्न पढ़ रहा हूं, तो पूर्व परिभाषित गणितीय समाधान नहीं है (जो है कहें, 500+ साल पहले कुछ यूनानी या फ्रेंच लड़के के साथ कोई समीकरण या कार्य नहीं हुआ था)। जबकि इसे खींचने के लक्ष्य का लक्ष्य महान है (और मैं इसके बारे में सोचने जा रहा हूं), आप मूल रूप से एक टूल/फ़ंक्शन प्रदान कर रहे हैं जिसे छात्र वास्तव में प्राप्त नहीं कर सके (दूसरे शब्दों में, वे ' पुष्टि करने के लिए पहले से ही अपनी सूची बनाने की पुष्टि करने के लिए संख्याओं में प्लग करें। – Anthony
यदि मैं आपकी टिप्पणी को सही ढंग से समझता हूं, तो इस उपकरण का उद्देश्य उदाहरण के लिए, यह दर्शाता है कि यदि श्रृंखला ए 300 और 500 के बीच है, तो यह श्रृंखला बी के साथ सहसंबंधित हो सकता है कि बी की सीमाएं 1 से 10 या बहुत अधिक हैं , 700 से 1000 कहें। मैंने अर्थशास्त्र का अध्ययन किया, और कई गणनाओं को उपकरण रखने से सबसे अच्छी तरह समझा गया जो आपको दूसरे गुणों के परिणाम देखने के लिए कुछ गुणों के साथ परेशान करते हैं। कुछ ग्रीक या फ्रांसीसी लोगों के प्रमेय को प्रमाण प्रदान करने के बजाए यह टूल का उद्देश्य होगा :-) – Pr0no
मैं निश्चित रूप से सभी कोणों से प्रमेय के साथ खेलने का लाभ समझता हूं। यह निश्चित रूप से मुझे अन्य मॉडलों/प्रणालियों के बीच उन्नत ज्यामिति (पुनः: मूल ट्रिगर) को बेहतर समझने में मदद मिली है। मुझे आश्चर्य है कि आपका प्रश्न प्रोग्रामिंग समस्या इतनी ज्यादा नहीं है क्योंकि यह गणितीय है।मेरे पास कुछ मौकों पर एहसास हुआ है कि मेरे स्वयं के दुविधाओं के बारे में, और पाया कि [गणित] (math.stackexchange.com) से पूछने से मुझे शीर्ष पर कोड बनाने के लिए बेहतर नींव बनाने में मदद मिली। जैसे मैंने कहा, मुझे लगता है कि सवाल मान्य है और लक्ष्य महान है, लेकिन जवाब कोडिंग से शायद अधिक मौलिक है। – Anthony