Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php或mysql提供两列之间的相关系数_Php_Mysql - Fatal编程技术网

php或mysql提供两列之间的相关系数

php或mysql提供两列之间的相关系数,php,mysql,Php,Mysql,有人能告诉我php中的函数或mysql中的查询返回mysql表中两列之间的相关系数的方向或给我一个例子吗?改编自interwebs上发现的类似问题,或许类似的东西可能有用 select ( avg( `col1` * `col2` ) - avg( `col1` ) + avg( `col2` ) ) / ( stddev( `col1` ) * stddev(`col2`) ) as 'correlation' from `table`; 最终版本完成-可能帮助他人 mysql_connec

有人能告诉我php中的函数或mysql中的查询返回mysql表中两列之间的相关系数的方向或给我一个例子吗?

改编自interwebs上发现的类似问题,或许类似的东西可能有用

select ( avg( `col1` * `col2` ) - avg( `col1` ) + avg( `col2` ) ) / ( stddev( `col1` ) * stddev(`col2`) ) as 'correlation'
from `table`;

最终版本完成-可能帮助他人
mysql_connect($host,$username,$password);
mysql_select_db($db_name);
$array1 = mysql_query("SELECT totalgoals FROM stats");
$array2 = mysql_query("SELECT totalshotsrecieved FROM stats");
$query = "SELECT * FROM stats";      
$result = mysql_query($query) or die(mysql_error());
$array1 = array();
$array2 = array();
while($row = mysql_fetch_array($result)){
    $array1[] = $row['totalgoals'];
    $array2[] = $row['totalshots_made'];
}
$string_version = implode($array1);
echo $string_version.'<br>';
$string_version = implode($array2);
echo $string_version.'<br>';

$correlation = Correlation($array1, $array2);

//Displaying the calculated Correlation:
print $correlation;

//The functions that work behind the scene to calculate the
//correlation

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);
}

?>
mysql\u connect($host、$username、$password);
mysql\u select\u db($db\u name);
$array1=mysql_查询(“从统计数据中选择totalgoals”);
$array2=mysql_查询(“选择从统计中获取的totalshotsrecieved”);
$query=“从统计信息中选择*”;
$result=mysql\u query($query)或die(mysql\u error());
$array1=数组();
$array2=数组();
while($row=mysql\u fetch\u数组($result)){
$array1[]=$row['totalgoals'];
$array2[]=$row['totalshots_make'];
}
$string_version=内爆($array1);
回显$string_版本。“
”; $string_version=内爆($array2); 回显$string_版本。“
”; $correlation=相关性($array1,$array2); //显示计算出的相关性: 打印$correlation; //在后台工作以计算 //相关性 函数相关性($arr1,$arr2) { $correlation=0; $k=总产品平均偏差($arr1,$arr2); $ssmd1=平方平均偏差($arr1); $ssmd2=平方平均偏差($arr2); $product=$ssmd1*$ssmd2; $res=sqrt(产品); $correlation=$k/$res; 返回$correlation; } 函数SumProductMeanDeviation($arr1,$arr2) { $sum=0; $num=计数($arr1);
对于($i=0;$i您需要更具体,并且扩展<代码>关联< /代码>。@ Jigar相关性是最常见和最有用的统计之一。相关性是描述两个变量之间的关系程度的单个数字。正相关关系表明这些变量在PAR中增加或减少的程度。allel;负相关性表示一个变量随另一个变量的减少而增加的程度。相关性通常表示为+1和-1之间的结果。我的问题对任何熟悉统计的人来说都很清楚-如果你不熟悉统计术语,就不公平地投反对票。删除不必要的文本。有人能解释为什么他的问题被否决了?@rlandster你能解释一下你的评论吗?太棒了-非常感谢!你知道什么是相关性,理解了这个问题,并给了我简单的代码来给出正确的答案-谢谢。