数学库体系结构
对数学的业余爱好使我在最近几个月中保持着对数学库的浓厚兴趣。此类研究推动我思考如何组织我的代码库以及使其预期在未来能不断增长。
我暂时采用清单 5 中的目录结构:
清单 5. 易于增长的目录结构
phpmath/
burnout_study.php
explore.php
fire_study.php
navbar.php
dist/
Distribution.php
fisher.php
student.php
source.php
jpgraph/
etc...
slr/
SimpleLinearRegression.php
SimpleLinearRegressionHTML.php
temp/
例如,未来有关多次回归的工作,将涉及扩展这个库以包括 matrix目录,该目录用来容纳执行矩阵操作(这是对于更高级形式的回归分析的需求)的 PHP 代码。我还将创建一个 mr目录,以容纳实现多次回归分析输入方法、逻辑和输出方法的 PHP 代码。
请注意这个目录结构包含一个 temp目录。必须设置该目录的许可权,使 explore.php脚本能够将输出图写到该目录。在尝试安装 phpmath_002.tar.gz源代码时请牢记这一点。此外,请在 JpGraph 项目网站上阅读安装 JpGraph 的指示信息(请参阅 参考资料)。
最后提一点,如果采取以下作法,可以将所有软件类移到 Web 根目录之外的文档根目录:
* 使某个全局 PHP_MATH 变量有权访问非 Web 根目录位置,并且
* 确保在所有需要或包括的文件路径前面加上这个已定义的常量作为前缀。
将来,对 PHP_MATH 变量的设置将通过一个用于整个 PHP 数学库的配置文件来完成。
您学到了什么?
在本文中,您了解了如何使用 SimpleLinearRegression 类开发用于中小规模的数据集的数据研究工具。在此过程中,我还开发了一个供 SimpleLinearRegression 类使用的本机概率函数,并用 HTML 输出方法和基于 JpGraph 库的图形生成代码扩展该类。
从学习的角度来看,简单线性回归建模是值得进一步研究的,因为事实证明,它是理解更高级形式的统计建模的必由之路。在深入学习更高级的技术(如多次回归或多变量方差分析)之前,对于简单线性回归的透彻理解将使您受益匪浅。
即使简单线性回归只用一个变量来说明或预测另一个变量的偏离值,在所有的研究变量之间寻找简单线性关系仍然常常是研究性数据分析的第一步。仅因为数据是多元的并不意味着就必须使用多元工具研究它。实际上,在开始时使用简单线性回归这样的基本工具是着手探究数据模式的好方法。
