快速业务通道

PHP实现简单线性回归之数据研究工具

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
is->doCommonMath($cth * $cth, 1, $df - 3, -1);  
   } 
     
  } 
     
  function getInverseStudentT($p, $df) {  
       
   $v =  0.5;  
   $dv = 0.5;  
   $t  = 0; 
       
   while($dv > 1e-6) {  
    $t = (1 / $v) - 1;  
    $dv = $dv / 2;  
    if ( $this->getStudentT($t, $df) > $p) {  
     $v = $v - $dv; 
    } else {  
     $v = $v + $dv; 
    }  
   } 
   return $t; 
  } 
     

  function getFisherF($f, $n1, $n2) { 
   // implemented but not shown     
  } 

  function getInverseFisherF($p, $n1, $n2) {  
   // implemented but not shown     
  } 

 } 
 ?>

  输出方法

  既然您已经用 PHP 实现了概率函数,那么开发基于 PHP 的数据研究工具剩下的唯一难题就是设计用于显示分析结果的方法。

  简单的解决方案是根据需要将所有实例变量的值都显示到屏幕上。在第一篇文章中,当显示燃耗研究(Burnout Study)的线性方程、 T值和 T 概率时,我就是这么做的。能根据特定目的而访问特定值是很有帮助的, SimpleLinearRegression 支持此类用法。

  然而,另一种用于输出结果的方法是将输出的各部分系统化地进行分组。如果研究用于回归分析的主要统计软件包的输出,就会发现它们往往是用同样的方式对输出进行分组的。它们往往有 摘要表(Summary Table)、 偏离值分析(Analysis Of Variance)表、 参数估计值(Parameter Estimate)表和 R 值(R Value)。类似地,我创建了一些输出方法,名称如下:

showSummaryTable()
showAnalysisOfVariance()
showParameterEstimates()
showRValues()
  我还有一个用于显示线性预测公式的方法( getFormula() )。许多统计软件包不输出公式,而是希望用户根据上述方法的输出构造公式。部分是由于您最后用来对数据建模的公式的最终形式可能由于下列原因而与缺省公式不同:

Y轴截距没有有意义的解释,或者
输入值可能是经过转换的,而您可能需要取消对它们的转换以获取最终的解释。

  所有这些方法都假定输出媒介是网页。考虑到您有可能希望用非网页的其它媒介输出这些汇总值,所以我决定将这些输出方法包装在一个继承了 SimpleLinearRegression 类的类中。 清单 2中的代码旨在演示输出类的通用逻辑。为了使通用逻辑更突出,所以除去了实现各种 show方法的代码。

  清单 2. 演示输出类的通用逻辑


<?php 

  // HTML.php 

  // Copyright 2003, Paul Meagher 
  // Distributed under GPL   

  include_once "slr/SimpleLinearRegression.php"; 

  class SimpleLinearRegressionHTML extends SimpleLinearRegression { 

    function SimpleLinearRegressionHTML($X, $Y, $conf_int) { 
      SimpleLinearRegression

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号