الهدف الأساسي وراء
نمذجة الانحدار الخطي البسيطمن الناحية المفاهيمية
هو العثور على أفضل خط مستقيم من مستوى ثنائي الأبعاد يتكون من أزواج من قيم X وY (أي قياسات X وY).بمجرد العثور على الخط باستخدام طريقة الحد الأدنى من التباين، يمكن إجراء اختبارات إحصائية مختلفة لتحديد مدى ملاءمة الخط للانحراف الملحوظ عن قيمة Y.
تحتوي المعادلة الخطية (y = mx + b) على معلمتين يجب تقديرهما من بيانات X وY المقدمة، وهما الميل (m) والتقاطع y (b). بمجرد تقدير هاتين المعلمتين، يمكنك إدخال القيم المرصودة في المعادلة الخطية ومراقبة تنبؤات Y الناتجة عن المعادلة.
لتقدير المعلمات m وb باستخدام طريقة الحد الأدنى من التباين، نحتاج إلى إيجاد القيم المقدرة لـ m وb التي تقلل قيم Y المرصودة والمتوقعة لجميع قيم X. يسمى الفرق بين القيم المرصودة والمتوقعة بالخطأ ( y i- (mx i+ b) )، وإذا قمت بتربيع كل قيمة خطأ ثم قمت بجمع هذه البقايا، فإن النتيجة هي مربع التنبؤ برقم سيئ. يتضمن استخدام طريقة الحد الأدنى من التباين لتحديد أفضل ملاءمة إيجاد تقديرات لـ m وb تقلل من تباين التنبؤ.
يمكن استخدام طريقتين أساسيتين للعثور على التقديرات m وb التي تلبي طريقة الحد الأدنى من التباين. في النهج الأول، يمكن للمرء استخدام عملية بحث رقمية لتعيين قيم مختلفة لـ m وb وتقييمها، وفي النهاية تحديد التقدير الذي ينتج عنه الحد الأدنى من التباين. الطريقة الثانية هي استخدام حساب التفاضل والتكامل لإيجاد معادلات لتقدير m وb. لن أخوض في حساب التفاضل والتكامل المتضمن في اشتقاق هذه المعادلات، لكنني استخدمت هذه المعادلات التحليلية في فئة SimpleLinearRegression للعثور على أقل تقديرات المربعات لـ m وb (راجع getSlope() وgetYIntercept في طريقة فئة SimpleLinearRegression).
حتى لو كان لديك معادلات يمكن استخدامها للعثور على تقديرات المربعات الصغرى لـ m وb، فهذا لا يعني أنه إذا قمت بتوصيل هذه المعلمات في معادلة خطية، فستكون النتيجة خطًا مستقيمًا يناسب البيانات جيدًا. الخطوة التالية في عملية الانحدار الخطي البسيطة هذه هي تحديد ما إذا كان تباين التنبؤ المتبقي مقبولاً.
يمكنك استخدام عملية اتخاذ القرار الإحصائي لرفض الفرضية البديلة القائلة بأن الخط المستقيم يناسب البيانات. تعتمد هذه العملية على حساب إحصائية T، باستخدام دالة الاحتمالية للعثور على احتمالية ملاحظة كبيرة عشوائيًا. كما ذكرنا في الجزء الأول، تولد فئة SimpleLinearRegression عددًا من القيم التلخيصية، إحدى القيم التلخيصية المهمة هي إحصائية T، والتي يمكن استخدامها لقياس مدى ملاءمة المعادلة الخطية للبيانات. إذا كان التوافق جيدًا، فستميل إحصائية T إلى أن تكون قيمة كبيرة، وإذا كانت قيمة T صغيرة، فيجب عليك استبدال معادلتك الخطية بنموذج افتراضي يفترض أن متوسط قيم Y هو أفضل متنبئ ( لأن متوسط مجموعة من القيم يمكن أن يكون في كثير من الأحيان مؤشرا مفيدا للملاحظة التالية).
لاختبار ما إذا كانت إحصائية T كبيرة بما يكفي لعدم استخدام متوسط قيمة Y كأفضل مؤشر، تحتاج إلى حساب احتمال الحصول على إحصائية T بشكل عشوائي. إذا كان الاحتمال منخفضًا، فيمكن الاستغناء عن الافتراض الفارغ بأن المتوسط هو أفضل متنبئ، وبالتالي يمكن للمرء أن يكون واثقًا من أن النموذج الخطي البسيط مناسب تمامًا للبيانات. (راجع الجزء الأول للحصول على مزيد من المعلومات حول حساب احتمالية إحصائية T.)
ارجع إلى عملية اتخاذ القرار الإحصائي. فهو يخبرك متى يجب عليك عدم اعتماد الفرضية الصفرية، لكنه لا يخبرك ما إذا كنت ستقبل الفرضية البديلة أم لا. في بيئة البحث، يجب إنشاء فرضيات بديلة للنموذج الخطي من خلال المعلمات النظرية والإحصائية.
تقوم أداة بحث البيانات التي ستقوم بإنشائها بتنفيذ عملية اتخاذ القرار الإحصائية للنماذج الخطية (اختبارات T) وتوفر بيانات موجزة يمكن استخدامها لبناء المعلمات النظرية والإحصائية اللازمة لبناء النماذج الخطية. يمكن تصنيف أدوات بحث البيانات على أنها أدوات دعم القرار للعاملين في مجال المعرفة لدراسة الأنماط في مجموعات البيانات الصغيرة والمتوسطة الحجم.
من منظور التعلم، تستحق نمذجة الانحدار الخطي البسيطة الدراسة لأنها الطريقة الوحيدة لفهم الأشكال الأكثر تقدمًا للنمذجة الإحصائية. على سبيل المثال، العديد من المفاهيم الأساسية في الانحدار الخطي البسيط تضع أساسًا جيدًا لفهم الانحدار المتعدد (الانحدار المتعدد)، وتحليل العوامل (تحليل العوامل)، والسلاسل الزمنية (السلاسل الزمنية).
الانحدار الخطي البسيط هو أيضًا أسلوب نمذجة متعدد الاستخدامات. يمكن استخدامه لنمذجة البيانات المنحنية عن طريق تحويل البيانات الأولية (عادةً باستخدام تحويل لوغاريتمي أو تحويل طاقة). تعمل هذه التحويلات على تحويل البيانات إلى خطية بحيث يمكن نمذجتها باستخدام الانحدار الخطي البسيط. سيتم تمثيل النموذج الخطي الناتج كصيغة خطية تتعلق بالقيم المحولة.
دالة الاحتمالية
في المقالة السابقة، تجنبت مشكلة تنفيذ دالة الاحتمالية في PHP من خلال مطالبة R بإيجاد قيمة الاحتمالية. لم أكن راضيًا تمامًا عن هذا الحل، لذلك بدأت البحث في السؤال: ما هو المطلوب لتطوير وظائف الاحتمالية بناءً على PHP.
لقد بدأت البحث عبر الإنترنت عن المعلومات والرمز. أحد المصادر لكليهما هو كتاب الوصفات العددية في وظائف الاحتمالية C. لقد قمت بإعادة تنفيذ بعض أكواد دالة الاحتمالية (وظائف gammln.c وbetai.c) في PHP، لكنني ما زلت غير راضٍ عن النتائج. يبدو أنه يحتوي على رمز أكثر قليلاً من بعض التطبيقات الأخرى. بالإضافة إلى ذلك، أحتاج إلى دالة الاحتمال العكسي.
لحسن الحظ، عثرت على الحساب الإحصائي التفاعلي لجون بيزولو. يحتوي موقع John الإلكتروني الخاص بوظائف التوزيع الاحتمالي على جميع الوظائف التي أحتاجها، والتي تم تنفيذها في JavaScript لتسهيل التعلم.
لقد قمت بنقل وظائف Student T وFisher F إلى PHP. لقد قمت بتغيير واجهة برمجة التطبيقات قليلاً لتتوافق مع نمط تسمية Java وقمت بدمج جميع الوظائف في فئة تسمى التوزيع. الميزة الرائعة لهذا التنفيذ هي طريقة doCommonMath، والتي يتم إعادة استخدامها بواسطة جميع الوظائف في هذه المكتبة. الاختبارات الأخرى التي لم أكلف نفسي عناء تنفيذها (اختبار الحالة الطبيعية واختبار مربع كاي) تستخدم أيضًا طريقة doCommonMath.
ومن الجدير بالذكر أيضًا جانب آخر من عملية الزرع هذه. باستخدام JavaScript، يمكن للمستخدمين تعيين قيم محددة ديناميكيًا لمتغيرات الحالة، مثل:
فار PiD2 = بي () / 2
لا يمكنك القيام بذلك في PHP. يمكن تعيين القيم الثابتة البسيطة فقط لمتغيرات المثيل. نأمل أن يتم حل هذا الخلل في PHP5.
لاحظ أن الكود الموجود في القائمة 1 لا يحدد متغيرات الحالة، وذلك لأنه في إصدار JavaScript، يتم تعيينها ديناميكيًا.
القائمة 1. تنفيذ دالة الاحتمالية
<?php
// Distribution.php
// حقوق الطبع والنشر لجون بيزولو
// تم إصداره تحت نفس شروط PHP.
// منفذ PHP وOO'fying بواسطة Paul Meagher
class Distribution {
function doCommonMath($q, $i, $j, $b) {
$zz = 1;
$z = $zz;
$ك = $i;
بينما($k <= $j) {
$zz = $zz * $q * $k / ($k - $b)؛
$z = $z + $zz;
$ك = $ك + 2؛
}
إرجاع $z;
}
الدالة getStudentT($t, $df) {
$t = abs($t);
$w = $t / sqrt($df);
$th = أتان($w);
إذا ($df == 1) {
العودة 1 - $th / (pi() / 2);
}
$sth = الخطيئة($th);
$cth = cos($th);
إذا(($df % 2) ==1) {
يعود
1 - ($th + $sth * $cth * $this->doCommonMath($cth * $cth, 2, $df - 3, -1))
/ (بي ()/2)؛
} آخر {
return 1 - $sth * $this->doCommonMath($cth * $cth, 1, $df - 3, -1);
}
}
الدالة getInverseStudentT($p, $df) {
$v = 0.5;
$دف = 0.5؛
$t = 0;
بينما($dv > 1e-6) {
$t = (1 / $v) - 1؛
$dv = $dv / 2;
إذا ( $this->getStudentT($t, $df) > $p) {
$v = $v - $dv;
} آخر {
$v = $v + $dv;
}
}
إرجاع $t؛
}
الدالة getFisherF($f, $n1, $n2) {
// تم تنفيذه ولكن لم يتم عرضه
}
الدالة getInverseFisherF($p, $n1, $n2) {
// تم تنفيذه ولكن لم يتم عرضه
}
}
?>
طرق الإخراج
الآن بعد أن قمت بتنفيذ دالة الاحتمالية في PHP، فإن التحدي الوحيد المتبقي في تطوير أداة بحث البيانات المستندة إلى PHP هو تصميم طريقة لعرض نتائج التحليل.
الحل البسيط هو عرض قيم كافة متغيرات المثيل على الشاشة حسب الحاجة. في المقالة الأولى، قمت بذلك بالضبط عند عرض المعادلة الخطية وقيمة T واحتمالية T لدراسة الإرهاق. من المفيد أن تكون قادرًا على الوصول إلى قيم محددة لأغراض محددة، ويدعم SimpleLinearRegression هذا الاستخدام.
ومع ذلك، هناك طريقة أخرى لإخراج النتائج وهي تجميع أجزاء من المخرجات بشكل منهجي. إذا قمت بدراسة مخرجات حزم البرامج الإحصائية الرئيسية المستخدمة لتحليل الانحدار، فستجد أنها تميل إلى تجميع مخرجاتها بنفس الطريقة. غالبًا ما تتضمن جدول الملخص وجدول تحليل التباين وجدول تقدير المعلمة وقيمة R. وبالمثل، قمت بإنشاء بعض طرق الإخراج بالأسماء التالية:
showSummaryTable()
شوأناليسيسوففاريانس ()
إظهار المعلمة ()
إظهارRValues()
لدي أيضًا طريقة لعرض صيغة التنبؤ الخطي ( getFormula() ). لا تقوم العديد من حزم البرامج الإحصائية بإخراج الصيغ، ولكنها تتوقع من المستخدم إنشاء صيغ بناءً على مخرجات الطرق المذكورة أعلاه. ويرجع ذلك جزئيًا إلى أن الشكل النهائي للصيغة التي ينتهي بك الأمر باستخدامها لنمذجة بياناتك قد يختلف عن الصيغة الافتراضية للأسباب التالية:
قد لا يكون للتقاطع Y تفسير ذو معنى، أو ربما تم تحويل قيم الإدخال بطريقة قد تحتاج إلى Unconvert لهم للحصول على الشرح النهائي.
تفترض كل هذه الطرق أن وسيط الإخراج هو صفحة ويب. بالنظر إلى أنك قد ترغب في إخراج قيم التلخيص هذه في وسيط آخر غير صفحة الويب، فقد قررت تغليف طرق الإخراج هذه في فئة ترث فئة SimpleLinearRegression. يهدف الكود الموجود في القائمة 2 إلى توضيح المنطق العام لفئة الإخراج. من أجل جعل المنطق المشترك أكثر وضوحًا، تمت إزالة التعليمات البرمجية التي تنفذ طرق العرض المختلفة.
القائمة 2. إظهار المنطق المشترك لفئة الإخراج
<?php
// HTML.php
// حقوق الطبع والنشر 2003، بول ميجر
// موزعة تحت رخصة GPL
include_once "slr/SimpleLinearRegression.php
"
;
SimpleLinearRegression::SimpleLinearRegression($X, $Y, $conf_int);
}
الدالة showTableSummary($x_name, $y_name) { }
دالة showAnalogyOfVariance() { }
دالة showParameterEstimates() { }
دالة showFormula($x_name, $y_name) { }
دالة showRValues() {}
}
?>
مُنشئ هذه الفئة هو مجرد غلاف حول مُنشئ فئة SimpleLinearRegression. وهذا يعني أنه إذا كنت تريد عرض مخرجات HTML لتحليل SimpleLinearRegression، فيجب عليك إنشاء مثيل لفئة SimpleLinearRegressionHTML بدلاً من إنشاء مثيل لفئة SimpleLinearRegression مباشرة. الميزة هي أنك لن تزدحم فئة SimpleLinearRegression بالعديد من الأساليب غير المستخدمة، ويمكنك تعريف الفئات بحرية أكبر لوسائط الإخراج الأخرى (ربما تنفيذ نفس واجهة برمجة التطبيقات لأنواع وسائط مختلفة).
الإخراج الرسومي
تعرض طرق الإخراج التي نفذتها حتى الآن قيمًا ملخصة بتنسيق HTML. كما أنها مناسبة لعرض المخططات المبعثرة أو المخططات الخطية لهذه البيانات بتنسيق GIF أو JPEG أو PNG.
بدلاً من كتابة التعليمات البرمجية لإنشاء مخططات الخطوط والتوزيع بنفسي، اعتقدت أنه سيكون من الأفضل استخدام مكتبة رسومية تعتمد على PHP تسمى JpGraph. يتم تطوير JpGraph بشكل نشط بواسطة يوهان بيرسون، الذي يصفه موقع مشروعه على الويب بهذه الطريقة:
سواء بالنسبة للرسوم البيانية "التي تم الحصول عليها بطريقة سريعة ولكن غير مناسبة" مع الحد الأدنى من التعليمات البرمجية، أو للرسوم البيانية الاحترافية المعقدة التي تتطلب تحكمًا دقيقًا للغاية، يمكن استخدام JpGraph للرسم. يصبح منهم سهلا. يعد JpGraph مناسبًا أيضًا للرسوم البيانية العلمية والتجارية.
يتضمن توزيع JpGraph عددًا من نماذج البرامج النصية التي يمكن تخصيصها لتلبية احتياجات محددة. يعد استخدام JpGraph كأداة للبحث عن البيانات أمرًا بسيطًا مثل العثور على نموذج نصي يقوم بشيء مشابه لما أحتاج إليه وتكييفه ليناسب احتياجاتي الخاصة.
يتم استخراج البرنامج النصي الموجود في القائمة 3 من نموذج أداة استكشاف البيانات (explore.php) ويوضح كيفية الاتصال بالمكتبة وملء فئتي الخط والتشتت بالبيانات من تحليل SimpleLinearRegression. تمت كتابة التعليقات الموجودة في هذا الكود بواسطة يوهان بيرسون (قاعدة كود JPGraph تقوم بعمل جيد في توثيقها).
القائمة 3. تفاصيل الوظائف من أداة استكشاف البيانات النموذجية explore.php
<?php
// المقتطف المستخرج من البرنامج النصي explore.php
include ("jpgraph/jpgraph.php");
تشمل ("jpgraph/jpgraph_scatter.php")؛
include ("jpgraph/jpgraph_line.php");
// إنشاء الرسم البياني
$graph = new Graph(300,200,'auto');
$graph->SetScale("linlin");
// عنوان الإعداد
$graph->title->Set("$title");
$graph->img->SetMargin(50,20,20,40);
$graph->xaxis->SetTitle("$x_name"،"center")؛
$graph->yaxis->SetTitleMargin(30);
$graph->yaxis->title->Set("$y_name");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// تأكد من أن المحور السيني موجود دائمًا
// أسفل المؤامرة وليس فقط عند Y = 0 وهو
// الموضع الافتراضي
$graph->xaxis->SetPos('min');
// أنشئ المخطط المبعثر ببعض الألوان الجميلة
$sp1 = new ScatterPlot($slr->Y, $slr->X);
$sp1->mark->SetType(MARK_FILLEDCIRCLE);
$sp1->mark->SetFillColor("red");
$sp1->SetColor("blue");
$sp1->SetWeight(3);
$sp1->mark->SetWidth(4);
// أنشئ خط الانحدار
$lplot = new LinePlot($slr->PredictedY, $slr->X);
$lplot->SetWeight(2);
$lplot->SetColor('navy');
// أضف pltos إلى السطر
$graph->Add($sp1);
$graph->Add($lplot);
// ... والسكتة الدماغية
$graph_name = "temp/test.png";
$graph->السكتة الدماغية($graph_name);
?>
<img src='<?php echo $graph_name ?>' vspace='15'>
?>
برنامج بحث البيانات
تتكون أداة بحث البيانات من برنامج نصي واحد (explore.php) يستدعي أساليب فئة SimpleLinearRegressionHTML ومكتبة JpGraph .
يستخدم البرنامج النصي منطق معالجة بسيط. يقوم الجزء الأول من البرنامج النصي بإجراء التحقق الأساسي من بيانات النموذج المقدم. إذا نجحت بيانات النموذج في التحقق من الصحة، فسيتم تنفيذ الجزء الثاني من البرنامج النصي.
يحتوي الجزء الثاني من البرنامج النصي على تعليمات برمجية تقوم بتحليل البيانات وعرض النتائج الموجزة بتنسيق HTML وتنسيقات رسومية. يظهر الهيكل الأساسي للبرنامج النصي explore.php في القائمة 4:
القائمة 4. هيكل explore.php
<?php
// explore.php
if (!empty($x_values)) {
$X = تنفجر("،"، $x_values)؛
$numX = العد($X);
}
إذا (! فارغة($y_values)) {
$Y = تنفجر("،, $y_values);
$numY = العد($Y);
}
// عرض نموذج إدخال بيانات الإدخال إذا لم يتم تعيين المتغيرات
if ( (empty($title)) OR (empty($x_name)) OR (empty($x_values)) OR
(فارغ($y_name)) أو (فارغ($conf_int)) أو (فارغ($y_values)) أو
($numX != $numY) ) {
// الكود المحذوف لعرض نموذج الإدخال
} آخر {
include_once "slr/SimpleLinearRegressionHTML.php";
$slr = new SimpleLinearRegressionHTML($X, $Y, $conf_int);
echo "<h2>$title</h2>";
$slr->showTableSummary($x_name, $y_name);
صدى "<br><br>";
$slr->showAnalysOfVariance();
echo "<br><br>";
$slr->showParameterEstiments($x_name, $y_name);
صدى "<br>"
$slr->showFormula($x_name, $y_name);
صدى "<br><br>";
$slr->showRValues($x_name, $y_name);
صدى "<br>"
يشمل ("jpgraph/jpgraph.php")؛
تشمل ("jpgraph/jpgraph_scatter.php")؛
تشمل ("jpgraph/jpgraph_line.php")؛
// رمز عرض الرسومات مضمّن في ملف
//explore.php النص البرمجي لهذين الخطين
// الانتهاء من البرنامج النصي:
// كود محذوف لعرض مخطط مبعثر بالإضافة إلى خط
// الكود المحذوف لعرض قطعة الأرض المتبقية
}
?>
دراسة أضرار الحرائق
لتوضيح كيفية استخدام أدوات بحث البيانات، سأستخدم بيانات من دراسة افتراضية عن أضرار الحرائق. تربط هذه الدراسة حجم أضرار الحرائق في المناطق السكنية الكبرى ببعدها عن أقرب محطة إطفاء. فمثلاً قد تهتم شركات التأمين بدراسة هذه العلاقة لغرض تحديد أقساط التأمين.
تظهر بيانات هذه الدراسة في شاشة الإدخال في الشكل 1.
الشكل 1. شاشة الإدخال تظهر بيانات الدراسة
وبعد تقديم البيانات يتم تحليلها وعرض نتائج هذه التحليلات. مجموعة النتائج الأولى المعروضة هي ملخص الجدول ، كما هو موضح في الشكل 2.
الشكل 2. ملخص الجدول هو مجموعة النتائج الأولى المعروضة
يعرض ملخص الجدول بيانات الإدخال في شكل جدول وأعمدة إضافية تشير إلى القيمة المتوقعة Y المقابلة للقيمة المرصودة
يوضح الشكل 3 ثلاثة جداول ملخصة للبيانات عالية المستوى تتبع ملخص الجدول.
الشكل 3. يُظهر ثلاثة جداول ملخصة للبيانات عالية المستوى تتبع ملخص الجدول
يوضح جدول تحليل التباين كيف يمكن أن تعزى الانحرافات في قيم Y إلى المصدرين الرئيسيين للانحراف، التباين الذي يوضحه النموذج (انظر صف النموذج) والتباين الذي لا يفسره النموذج (انظر صف الخطأ). تعني قيمة F الكبيرة أن النموذج الخطي يلتقط معظم الانحراف في قياسات Y. يعد هذا الجدول أكثر فائدة في بيئة الانحدار المتعدد، حيث يحتوي كل متغير مستقل على صف في الجدول.
يعرض جدول تقديرات المعلمة تقاطع المحور Y المقدر (التقاطع) والميل (المنحدر). يحتوي كل صف على قيمة T واحتمال مراقبة قيمة T المتطرفة (راجع العمود Prob > T). يمكن استخدام Prob > T للمنحدر لرفض النموذج الخطي.
إذا كان احتمال قيمة T أكبر من 0.05 (أو احتمالًا صغيرًا مشابهًا)، فيمكنك رفض فرضية العدم لأن احتمال ملاحظة القيمة القصوى بشكل عشوائي صغير. وإلا يجب عليك استخدام فرضية العدم.
في دراسات فقدان الحرائق، يكون احتمال الحصول بشكل عشوائي على قيمة T بحجم 12.57 أقل من 0.00000. وهذا يعني أن النموذج الخطي يعد مؤشرا مفيدا (أفضل من متوسط قيم Y ) لقيم Y التي تتوافق مع نطاق قيم X الملحوظة في هذه الدراسة.
ويبين التقرير النهائي معامل الارتباط أو قيمة R. ويمكن استخدامها لتقييم مدى ملاءمة النموذج الخطي للبيانات. تشير قيمة R العالية إلى اتفاق جيد.
يقدم كل تقرير ملخص إجابات على أسئلة تحليلية مختلفة حول العلاقة بين النموذج الخطي والبيانات. راجع كتابًا مدرسيًا من تأليف هاميلتون أو نيتر أو بيدهاوزور للحصول على علاجات أكثر تقدمًا لتحليل الانحدار.
عناصر التقرير النهائي التي سيتم عرضها هي مخطط التوزيع والرسم البياني الخطي للبيانات، كما هو موضح في الشكل 4.
الشكل 4. عناصر التقرير النهائي – مخطط التوزيع والرسم البياني الخطي
معظم الناس على دراية بوصف الرسوم البيانية الخطية (مثل الرسم البياني الأول في هذه السلسلة)، لذلك لن أعلق على هذا إلا أن أقول إن مكتبة JPGraph يمكنها إنتاج رسوم بيانية علمية عالية الجودة للويب. كما أنه يقوم بعمل رائع عند إدخال بيانات التوزيع أو الخط المستقيم.
المخطط الثاني يربط القيم المتبقية ( Y المرصودة، Y المتوقعة) بقيم Y المتوقعة. هذا مثال على الرسم البياني الذي يستخدمه مؤيدو تحليل البيانات الاستكشافية (EDA) للمساعدة في زيادة قدرة المحللين على اكتشاف وفهم الأنماط في البيانات. يمكن للخبراء استخدام هذا الرسم البياني للإجابة على أسئلة حول:
يمكن توسيع أداة دراسة البيانات هذه بسهولة لإنتاج المزيد من أنواع الرسوم البيانية - الرسوم البيانية، المربع المخططات والمؤامرات الربعية — هذه هي أدوات EDA القياسية.
هندسة مكتبة الرياضيات
هوايتي في الرياضيات جعلتني مهتمًا بمكتبات الرياضيات في الأشهر الأخيرة. يدفعني بحث مثل هذا إلى التفكير في كيفية تنظيم قاعدة التعليمات البرمجية الخاصة بي وتوقع النمو المستقبلي.
سأستخدم بنية الدليل في القائمة 5 في الوقت الحالي:
القائمة 5. بنية الدليل سهلة النمو
phpmath/ burnout_study.php Explore.php fire_study.php navbar.php توزيع / التوزيع.php فيشر.php Student.php source.php جبغراف / إلخ... سلر / SimpleLinearRegression.php SimpleLinearRegressionHTML.php درجة حرارة/ |
في المستقبل، سيتم تعيين المتغير PHP_MATH من خلال ملف تكوين لمكتبة PHP الرياضية بأكملها.
ماذا تعلمت؟
تعلمت في هذه المقالة كيفية استخدام فئة SimpleLinearRegression لتطوير أدوات بحث البيانات لمجموعات البيانات الصغيرة والمتوسطة الحجم. على طول الطريق، قمت أيضًا بتطوير دالة احتمالية أصلية للاستخدام مع فئة SimpleLinearRegression وقمت بتوسيع الفصل باستخدام طرق إخراج HTML وكود إنشاء الرسم البياني استنادًا إلى مكتبة JpGraph.
من منظور التعلم، تستحق نمذجة الانحدار الخطي البسيطة مزيدًا من الدراسة، حيث أثبتت أنها الطريقة الوحيدة لفهم الأشكال الأكثر تقدمًا للنمذجة الإحصائية. سوف تستفيد من الفهم القوي للانحدار الخطي البسيط قبل الغوص في تقنيات أكثر تقدمًا مثل الانحدار المتعدد أو تحليل التباين متعدد المتغيرات.
حتى لو كان الانحدار الخطي البسيط يستخدم متغيرًا واحدًا فقط لشرح أو التنبؤ بانحراف متغير آخر، فإن العثور على علاقات خطية بسيطة بين جميع متغيرات الدراسة لا يزال غالبًا الخطوة الأولى في تحليل بيانات البحث. إن كون البيانات متعددة المتغيرات لا يعني أنه يجب دراستها باستخدام أدوات متعددة المتغيرات. في الواقع، يعد البدء باستخدام أداة أساسية مثل الانحدار الخطي البسيط طريقة رائعة لبدء استكشاف الأنماط في بياناتك.