本文整理汇总了PHP中Statistics::stdev方法的典型用法代码示例。如果您正苦于以下问题:PHP Statistics::stdev方法的具体用法?PHP Statistics::stdev怎么用?PHP Statistics::stdev使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Statistics
的用法示例。
在下文中一共展示了Statistics::stdev方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct(array $samples, array $stats = [])
{
if (count($samples) < 1) {
throw new \LogicException('Cannot create a distribution with zero samples.');
}
$this->samples = $samples;
$this->closures = ['min' => function () {
return min($this->samples);
}, 'max' => function () {
return max($this->samples);
}, 'sum' => function () {
return array_sum($this->samples);
}, 'stdev' => function () {
return Statistics::stdev($this->samples);
}, 'mean' => function () {
return Statistics::mean($this->samples);
}, 'mode' => function () {
return Statistics::kdeMode($this->samples);
}, 'variance' => function () {
return Statistics::variance($this->samples);
}, 'rstdev' => function () {
$mean = $this->getMean();
return $mean ? $this->getStdev() / $mean * 100 : 0;
}];
if ($diff = array_diff(array_keys($stats), array_keys($this->closures))) {
throw new \RuntimeException(sprintf('Unknown pre-computed stat(s) encountered: "%s"', implode('", "', $diff)));
}
$this->stats = $stats;
}
示例2: computeCovariance
/**
* Computes the covariance matrix for each Gaussian kernel using
* coVarianceFactor().
*/
private function computeCovariance()
{
$factorCallable = $this->coVarianceFactor;
$this->factor = $factorCallable();
// Cache covariance and inverse covariance of the data
if (null === $this->_dataInvCov) {
// original used the numpy.cov function.
$this->_dataCovariance = pow(Statistics::stdev($this->dataset, true), 2);
//$this->_dataInvCov = 1/ linalg.inv($this->_dataCovariance)
$this->_dataInvCov = 1 / $this->_dataCovariance;
}
$this->covariance = $this->_dataCovariance * pow($this->factor, 2);
$this->invCov = $this->_dataInvCov / pow($this->factor, 2);
$this->normFactor = sqrt(2 * M_PI * $this->covariance) * count($this->dataset);
}