php方案 PHP的数据倾斜处理
composerrequiremarkrogoyski/math-php?phprequirevendor/autoload.php;useMathPHP\Statistics\Descriptive;$data[2,3,3,4,4,4,5,5,5,100];echo偏度: .round(Descriptive::skewness($data),2).\n;$fixedarray_map(fn($x)log($x1),$data);echo修正后偏度: .round(Descriptive::skewness($fixed),2).\n;输出 偏度:2.87修正后偏度:0.31---逐行解释useMathPHP\Statistics\Descriptive;引入 MathPHP 的描述统计类里面有现成的偏度计算方法。---$data[2,3,3,4,4,4,5,5,5,100];模拟一组倾斜数据100是个离群值把整体分布往右拉歪了。---Descriptive::skewness($data)算偏度。结果含义-0分布对称没倾斜-正数右偏少数大值把均值拉高-负数左偏少数小值把均值拉低---round(...,2)保留两位小数不然小数位一堆没法看。---$fixedarray_map(fn($x)log($x1),$data);对每个值做对数变换。1是防止log(0)报错。对数会把大值压缩100变成4.6小值变化不大整体分布就被拉平了。---Descriptive::skewness($fixed)再算一次偏度验证变换后是否接近0越接近0说明处理越有效。