34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class ModelLinear extends CI_Model {
|
|
|
|
public function get_cases_data() {
|
|
// Data jumlah kasus stunting
|
|
return [
|
|
'years' => [2020, 2021, 2022, 2023, 2024],
|
|
'cases' => [156, 86, 43, 66, 62]
|
|
];
|
|
}
|
|
|
|
public function calculate_regression($years, $cases) {
|
|
$n = count($years);
|
|
$sum_x = array_sum($years);
|
|
$sum_y = array_sum($cases);
|
|
$sum_x_squared = array_sum(array_map(function($x) { return $x * $x; }, $years));
|
|
$sum_xy = array_sum(array_map(function($x, $y) { return $x * $y; }, $years, $cases));
|
|
|
|
$slope = ($n * $sum_xy - $sum_x * $sum_y) / ($n * $sum_x_squared - $sum_x * $sum_x);
|
|
$intercept = ($sum_y - $slope * $sum_x) / $n;
|
|
|
|
return [
|
|
'slope' => $slope,
|
|
'intercept' => $intercept
|
|
];
|
|
}
|
|
|
|
public function forecast($slope, $intercept, $next_year) {
|
|
return $slope * $next_year + $intercept;
|
|
}
|
|
}
|