soandso / forecast-verifiability
天气预报的可验证性
0.1.1
2019-12-14 13:29 UTC
Requires
- php: ^7.0
This package is auto-updated.
Last update: 2024-09-15 00:01:14 UTC
README
天气预报的成功程度由称为气象预报成功标准的指标来表征。成功标准是实际和预测天气特征合规性的定量估计。
设置
将库添加到您的项目中 composer.json
文件
{ "require": { "soandso/forecast-verifiability": "0.*" } }
使用 composer 安装库
$ php composer.phar install
Composer 将在您的 vendor 文件夹中安装 Forecast verifiability。然后您可以在 .php 文件中添加以下内容以使用库进行自动加载。
require_once(__DIR__ . '/vendor/autoload.php');
您也可以在命令行上使用 composer 强制要求并安装 Forecast verifiability
$ php composer.phar require soandso/forecast-verifiability:0.*
最低要求
- PHP 7
描述
首先,需要形成一个共轭矩阵。为此,您需要创建一个 ConjugacyMatrix 类的对象,并给出气象值的名称,例如风速的评估
$matrix = new ConjugacyMatrix('wind');
接下来,填写共轭矩阵元素的值
$matrix->setN11(104); $matrix->setN12(12); $matrix->setN21(58); $matrix->setN22(369); $matrix->setN10($matrix->calcN10()); $matrix->setN20($matrix->calcN20()); $matrix->setN01($matrix->calcN01()); $matrix->setN02($matrix->calcN02()); $matrix->setN($matrix->calcN()); $matrix->setMatrix('n11', $matrix->getN11()); $matrix->setMatrix('n12', $matrix->getN12()); $matrix->setMatrix('n21', $matrix->getN21()); $matrix->setMatrix('n22', $matrix->getN22()); $matrix->setMatrix('n10', $matrix->getN10()); $matrix->setMatrix('n20', $matrix->getN20()); $matrix->setMatrix('n01', $matrix->getN01()); $matrix->setMatrix('n02', $matrix->getN02()); $matrix->setMatrix('N', $matrix->getN());
共轭矩阵元素的指定
共轭矩阵构建完成后,可以计算单个标准。为此,首先创建一个 CriteriaForecast 类的对象,并给它提供共轭矩阵对象
$criteria = new CriteriaForecast($matrix);
计算一般预报精度。设置标准的名称(对于生成输出是必要的)
$criteria->setNameCriteria('General forecast accuracy');
有效的标准列表
'General forecast accuracy' 'Forecast accuracy criterion' 'Forecast reliability criterion' 'Climate entropy' 'Conditional entropy' 'Amount of forecaste information' 'Information relation'
设置标准单位
$criteria->setUnit('%');
值计算
$criteria->calclateP();
要生成一般结论(一个任务可以计算多个不同的标准),需要将结果添加到输出的一般容器中。
$criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getP(), $criteria->getUnit());
计算预报精度标准。
$criteria->setNameCriteria('Forecast accuracy criterion'); $criteria->calculateQ(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getQ());
计算预报可靠性标准。
$criteria->setNameCriteria('Forecast reliability criterion'); $criteria->calculateH(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getH());
计算气候熵。
$criteria->setNameCriteria('Climate entropy'); $criteria->calculateHf(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getHf());
计算条件熵。
$criteria->setNameCriteria('Conditional entropy'); $criteria->calculateHp(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getHp());
计算预报信息量。
$criteria->setNameCriteria('Amount of forecaste information'); $criteria->calculateI(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getI());
计算信息关系。
$criteria->setNameCriteria('Information relation'); $criteria->calculateV(); $criteria->setValueCriteria($criteria->getNameCriteria(), $criteria->getV());
获取所有标准的值
$criteria->getValueCriteries();
通过命名获取标准的值
$criteria->getValueCriteria('General forecast accuracy');
输出函数的输出可以是以下形式的数组
Array ( [General forecast accuracy] => Array ( [value] => 87.108655616943 [unit] => % ) [Forecast accuracy criterion] => Array ( [value] => 0.76072034240491 [unit] => ) [Forecast reliability criterion] => Array ( [value] => 0.66472611802064 [unit] => ) ........................... )
标准
分组符合以下标准
- PSR-2 - 基本编码标准 (https://www.php-fig.org/psr/psr-2/)
- PSR-4 - 自动加载 (https://www.php-fig.org/psr/psr-4/)
- PSR-12 - 扩展编码风格指南 (https://www.php-fig.org/psr/psr-12/)
许可证
本分组受 GPLv2 许可证 (https://gnu.ac.cn/licenses/old-licenses/gpl-2.0.html) 的许可。