コード例 #1
0
ファイル: stat_functions.php プロジェクト: zachmueller/charts
function stat_correlp($data1, $data2)
{
    //calculates the population correlation
    //arrays must be same size
    $covarp = stat_covarp($data1, $data2);
    $stdevp1 = stat_stdevp($data1);
    $stdevp2 = stat_stdevp($data2);
    return $covarp / ($stdevp1 * $stdevp2);
}
コード例 #2
0
ファイル: charts.php プロジェクト: zachmueller/charts
             $sSlice = array_slice($s[$key]['changes'], $i, 156);
             if (count($sSlice) >= 156) {
                 $s[$key][$t][$date] = stat_correlp($sSlice, array_slice($m[0]['changes'], $i, 156));
                 $i++;
             }
         }
     }
     break;
 case 'stdev':
     foreach ($s as $key => $stock) {
         $i = 0;
         foreach ($stock['changes'] as $date => $change) {
             $sSlice = array_slice($s[$key]['changes'], $i, 156);
             if (count($sSlice) >= 156) {
                 //only calculate when 156 weeks of data exist
                 $s[$key][$t][$date] = stat_stdevp($sSlice) * sqrt(52);
                 $i++;
             }
         }
     }
     break;
 default:
     $t = 'beta';
     foreach ($s as $key => $stock) {
         $i = 0;
         foreach ($stock['changes'] as $date => $change) {
             $sSlice = array_slice($s[$key]['changes'], $i, 156);
             if (count($sSlice) >= 156) {
                 //only calculate when 156 weeks of data exist
                 $s[$key][$t][$date] = stat_covarp($sSlice, array_slice($m[0]['changes'], $i, 156)) / stat_varp(array_slice($m[0]['changes'], $i, 156));
                 $i++;