注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Bioinformatics home

 
 
 

日志

 
 

用 PHP 实现的简单线性回归: 第 1 部分  

2010-05-04 03:25:12|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

用 PHP 实现的简单线性回归: 第 1 部分

数学库在 PHP 中的重要性用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon
用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon
用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon
文档选项
用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon 用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

打印本页

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon 用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

将此页作为电子邮件发送

级别: 初级

Paul Meagher (paul@datavore.com), CEO

2003 年 8 月 10 日

PHP 领域中缺少了一个功能强大的工具:基于语言的数学库。在这个由两部分组成的系列文章中,Paul Meagher 希望通过提供一个如何开发分析模型库的示例来启发 PHP 开发人员去开发和实现基于 PHP 的数学库。在第 1 部分中,他演示了如何使用 PHP 作为实现语言来开发和实现简单线性回归(Simple Linear Regression)算法包的核心部分。在第 2 部分中,作者在该包中添加了一些功能:针对中小规模数据集的有用的数据分析工具。

参考资料

难道这不是在浪费开发人员的精力吗?如果开发 PHP 数学库的动机是出自节省开发人员的精力以及使用最好的工具来完成工作,那么 PHP 现在的课题是很有意义的。

另一方面,出于教学动机可能会鼓励对 PHP 数学库的开发。对于大约 10% 的人来说,数学是个值得探索的有趣课题。对于那些同时还熟练应用 PHP 的人来说,PHP 数学库的开发可以增强数学学习过程,换句话说,不要只 阅读有关 T 测试的章节,还要 实现一个能计算相应的中间值并用标准格式显示它们的类。

通过指导和训练,我希望证明开发 PHP 数学库并不是一项很难的任务,它可能代表一项有趣的技术和学习难题。在本文中,我将提供一个 PHP 数学库示例,名为

SimpleLinearRegression

,它演示了一个可以用来开发 PHP 数学库的通用方法。让我们从讨论一些通用的原则开始,这些原则指导我开发这个

SimpleLinearRegression

类。

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

回页首

回页首

清单 1 中的

SimpleLinearRegression

类声明哪些变量。可以对

MultipleRegression

ANOVA

TimeSeries

过程执行类似的分析。

回页首

回页首

清单 3),该方程对 XY值之间的关系进行建模。

使用推导出的线性方程,您就可以得到每个 X值对应的预测 Y值。如果线性方程与数据非常吻合,那么 Y的观测值与预测值趋近于一致。

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

用 PHP 实现的简单线性回归: 第 1 部分 - xiaofeng1982 - Tiger-Leon

回页首

参考资料中的 www.r-project.org)来获得必要的值。我还想提醒大家注意该包,因为:

  1. R 提供了许多想法,PHP 开发人员可能会在 PHP 数学库中模拟这些想法。
  2. 有了 R,可以确定从 PHP 数学库获得的值与那些从成熟的免费可用的开放源码统计包中获得的值是否一致。

清单 4 中的代码演示了交给 R 来处理以获取一个值是多么容易。

回页首

回页首

英文原文.

  • 请参考由 James T. McClave 和 Terry Sincich 编著的广受欢迎的大学教科书 Statistics,第 9 版 (Prentice-Hall,在线),本文中所使用的算法步骤和“燃耗研究”示例参考了该书。

  • 请查阅 PEAR 资源库,它目前包含了少量低级别的 PHP 数学类。最终,应该会很高兴地看到 PEAR 包含实现标准的较高级别的数值方法(比如 SimpleLinearRegression、MultipleRegression、TimeSeries、ANOVA、FactorAnalysis、FourierAnalysis 及其它)的包。

  • 查看下载作者的 SimpleLinearRegression 类的所有源代码。

  • 研究可用于 Perl 的许多数学参考资料,包括 CPAN 数学模块的索引和 CPAN 中 算法部分的模块,以及 Perl 数据语言(Perl Data Language),它旨在为 Perl 提供压缩存储以及快速操作大型 N 维数据数组的能力。

  • 有关 John Chambers 的 S 编程语言的更多信息,请查阅关于他的出版物以及他在贝尔实验室的各项研究项目的链接。还可以了解在 1998 年因语言设计而获得的 ACM 奖

  • R 是用于统计计算和图形的语言和环境,类似于获奖的 S System,R 提供了诸如线性和非线性建模、统计测试、时间序列分析、分类、群集之类的统计和图形技术。请在 R Project 主页上了解 R。

  • 如果您刚接触 PHP,那么请阅读 Amol Hatwar 的 developerWorks系列文章:“用 PHP 开发健壮的代码:”“ 第 1 部分: 高屋建瓴的介绍 ”(2002 年 8 月)、“ 第 2 部分: 有效地使用变量”(2002 年 9 月)和“ 第 3 部分: 编写可重用函数”(2002 年 11 月)。

  • 请阅读 developerWorks 数学库文集:

    •   评论这张
       
      阅读(520)| 评论(0)
      推荐 转载

      历史上的今天

      在LOFTER的更多文章

      评论

      <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
       
       
       
       
       
       
       
       
       
       
       
       
       
       

      页脚

      网易公司版权所有 ©1997-2017