亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ホームページ php教程 php手冊 PHP で実裝された単純な線形回帰 (2)

PHP で実裝された単純な線形回帰 (2)

Jun 21, 2016 am 09:14 AM
gt jpgraph php quot

出力と確率関數(shù)の欠點を解決するデータ調(diào)査ツール

このシリーズのパート 1 は、単純線形回帰クラスの 3 つの要素が欠けている狀態(tài)で終了しました。この記事では、著者 Paul Meagher が PHP ベースの確率関數(shù)を使用してこれらの欠點に対処し、出力メソッドを SimpleLinearRegression クラスに統(tǒng)合し、グラフィカル出力を作成する方法を示します。彼は、小規(guī)模から中規(guī)模のデータ セットに含まれる情報を深く調(diào)査するように設(shè)計されたデータ調(diào)査ツールを構(gòu)築することで、これらの問題を解決しました。 (パート 1 では、著者は実裝言語として PHP を使用して、単純な線形回帰アルゴリズム パッケージのコア部分を開発および実裝する方法を示します。)


この 2 部構(gòu)成シリーズのパート 1 (「PHP を使用した単純な線形の実裝」)回帰」)で、數(shù)學(xué)ライブラリが PHP に役立つ理由を説明しました。また、実裝言語として PHP を使用して、単純な線形回帰アルゴリズムのコア部分を開発および実裝する方法も示しました。

この記事の目的は、パート 1 で説明した SimpleLinearRegression クラスを使用して重要なデータ調(diào)査ツールを構(gòu)築する方法を示すことです。

簡単なレビュー: 概念
単純な線形回帰モデリングの背後にある基本的な目標(biāo)は、X 値と Y 値のペア (つまり、X と Y の測定値) で構(gòu)成される 2 次元平面から最適な直線を見つけることです。最小分散法を使用して線が見つかったら、さまざまな統(tǒng)計テストを?qū)g行して、その線が観察された Y 値からの偏差とどの程度一致しているかを判斷できます。

線形方程式 (y = mx + b) には、提供された X および Y データから推定する必要がある 2 つのパラメーターがあります。それらは、傾き (m) と y 切片 (b) です。これら 2 つのパラメーターが推定されると、観測値を線形方程式に入力し、方程式によって生成された Y 予測を観測できます。

最小分散法を使用して m および b パラメーターを推定するには、すべての X 値に対する Y の観測値および予測値を最小化する m および b の推定値を見つける必要があります。観測値と予測値の差は誤差 (yi - (mxi + b)) と呼ばれ、各誤差値を 2 乗してこれらの殘差を合計すると、結(jié)果は數(shù)値と呼ばれる予測の 2 乗差になります。最小分散法を使用して最適な直線を決定するには、予測分散を最小化する m と b の推定値を見つけることが含まれます。

最小分散法を満たす推定値 m と b を見つけるには 2 つの基本的な方法があります。最初のアプローチでは、數(shù)値検索手順を使用して m と b の異なる値を設(shè)定し、それらを評価し、最終的に分散が最小になる推定値を決定します。 2 番目の方法は、微積分を使用して m と b を推定するための方程式を見つける方法です。これらの方程式の導(dǎo)出に関わる微積分には立ち入りませんが、SimpleLinearRegression クラスでこれらの分析方程式を使用して、m と b の最小二乗推定値を求めました (SimpleLinearRegression クラス メソッドの getSlope() と getYIntercept を參照)。

m と b の最小二乗推定値を見つけるために使用できる方程式がある場合でも、これらのパラメーターを一次方程式に代入すると、結(jié)果がデータによく適合する直線になるとは限りません。この単純な線形回帰プロセスの次のステップは、殘りの予測分散が許容できるかどうかを判斷することです。

統(tǒng)計的決定プロセスを使用して、直線がデータに適合するという対立仮説を棄卻できます。このプロセスは、確率関數(shù)を使用してランダムに大きな観測値の確率を求める T 統(tǒng)計量の計算に基づいています。パート 1 で述べたように、SimpleLinearRegression クラスは多數(shù)の集計値を生成します。重要な集計値の 1 つは、線形方程式がデータにどの程度適合しているかを測定する T 統(tǒng)計量です。一致が良好な場合、T 統(tǒng)計量は大きな値になる傾向があります。T 値が小さい場合は、線形方程式を Y 値の平均が最良の予測子であると仮定するデフォルトのモデルに置き換える必要があります (なぜなら、一連の値の平均は、次の観測値を予測するのに役立つことが多いからです)。

T 統(tǒng)計量が Y 値の平均を最良の予測因子として使用できないほど十分に大きいかどうかをテストするには、T 統(tǒng)計量をランダムに取得する確率を計算する必要があります。確率が低い場合は、平均が最良の予測子であるという帰無仮定を省くことができるため、単純な線形モデルがデータによく適合していると確信できます。 (T 統(tǒng)計の確率の計算の詳細(xì)については、パート 1 を參照してください。)

統(tǒng)計的な意思決定プロセスに戻ります。帰無仮説を採用すべきでない場合は教えてくれますが、対立仮説を受け入れるかどうかは教えてくれません。研究環(huán)境では、理論的および統(tǒng)計的パラメーターを通じて線形モデルの対立仮説を確立する必要があります。

これから構(gòu)築するデータ調(diào)査ツールは、線形モデルの統(tǒng)計的意思決定プロセス (T 検定) を?qū)g裝し、線形モデルの構(gòu)築に必要な理論的および統(tǒng)計的パラメーターの構(gòu)築に使用できる概要データを提供します。データ調(diào)査ツールは、ナレッジ ワーカーが小規(guī)模から中規(guī)模のデータ セットのパターンを研究するための意思決定支援ツールとして分類できます。

學(xué)習(xí)の観點から見ると、単純な線形回帰モデリングは、より高度な形式の統(tǒng)計モデリングを理解する唯一の方法であるため、研究する価値があります。たとえば、単純な線形回帰の多くの中心的な概念は、重回帰 (重回帰)、因子分析 (因子分析)、および時系列 (時系列) を理解するための優(yōu)れた基礎(chǔ)を確立します。

単純な線形回帰も多用途のモデリング手法です。これを使用して、生データを変換する (通常は対數(shù)変換またはべき乗変換を使用) ことによって、曲線データをモデル化できます。これらの変換によりデータが線形化され、単純な線形回帰を使用してモデル化できるようになります。結(jié)果として得られる線形モデルは、変換された値に関連する線形式として表されます。

確率関數(shù)

前の記事では、R を使用して確率値を求め、それによって PHP で確率関數(shù)を?qū)g裝する際の問題を回避しました。私はこの解決策に完全には満足できなかったので、「PHP に基づいて確率関數(shù)を開発するには何が必要か」という質(zhì)問について調(diào)査を開始しました。

私はオンラインで情報とコードを探し始めました。両方の情報源は、『Numerical Recipes in C [/url] Probability Functions』という書籍です。いくつかの確率関數(shù)コード (gammln.c 関數(shù)と betai.c 関數(shù)) を PHP で再実裝しましたが、まだ結(jié)果に満足していません。他の実裝よりもコードが少し多いようです。さらに、逆確率関數(shù)も必要です。

幸いなことに、私は John Pezullo の対話型統(tǒng)計計算に出會いました。確率分布関數(shù)に関する John の Web サイトには、學(xué)習(xí)を容易にするために必要な関數(shù)がすべて JavaScript で実裝されています。

Student T 関數(shù)と Fisher F 関數(shù)を PHP に移植しました。 Java 命名スタイルに準(zhǔn)拠するように API を少し変更し、すべての関數(shù)を Distribution というクラスに埋め込みました。この実裝の優(yōu)れた機能は、このライブラリ內(nèi)のすべての関數(shù)で再利用される doCommonMath メソッドです。わざわざ実裝しなかった他のテスト (正規(guī)性テストとカイ 2 乗テスト) も doCommonMath メソッドを使用します。

この移植の別の側(cè)面も注目に値します。 JavaScript を使用すると、ユーザーは動的に決定された値をインスタンス変數(shù)に割り當(dāng)てることができます。例:

var PiD2 = pi() / 2


これは PHP では実行できません。インスタンス変數(shù)には単純な定數(shù)値のみを割り當(dāng)てることができます。この欠陥が PHP5 で解決されることを願っています。

リスト 1 のコードではインスタンス変數(shù)が定義されていないことに注意してください。これは、JavaScript バージョンでは値が動的に割り當(dāng)てられるためです。

リスト 1. 確率関數(shù)の実裝

// Distribution.php

// Copyright John Pezullo
// PHP と同じ條件でリリース
// Paul Meagher による PHP ポートと OO'fying。

クラス分布 {

function doCommonMath($q, $i, $j, $b) {

$zz = 1;
$k = $i; k <= $j) {
$zz = $zz * $q * $k / ($k - $b);
$z = $z + $zz;
$z を返す
}

関數(shù) getStudentT($t, $df) {
$w = $t / sqrt($df); w );

if ($df == 1) {
return 1 - $th / (pi() / 2)
}

$sth = sin($th); ) ;

if( ($df % 2) ==1 ) {
return
1 - ($th + $sth * $cth * $this->doCommonMath($cth * $cth, 2, $df - 3 , -1))
/ (pi()/2);
} else {
return 1 - $sth * $this->doCommonMath($cth * $cth, 1, $df - 3, -1) ;
}

}

関數(shù) getInverseStudentT($p, $df) {
$dv = 0.5;
$t = 0;
$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) {
//表示されていません
}

function getInverseFisherF($p, $n1, $n2) {
// 実裝されていますが、表示されていません
}

}
?> これで、確率を?qū)g裝しました。 PHP の機能を理解した後、PHP ベースのデータ調(diào)査ツールを開発する際に殘る唯一の課題は、分析結(jié)果を表示する方法を設(shè)計することです。

簡単な解決策は、必要に応じてすべてのインスタンス変數(shù)の値を畫面に表示することです。最初の記事で、バーンアウト研究の線形方程式、T 値、および T 確率を示すときに、まさにそれを行いました。特定の目的で特定の値にアクセスできると便利であり、SimpleLinearRegression はこの使用法をサポートしています。

ただし、結(jié)果を出力する別の方法は、出力の一部を體系的にグループ化することです。回帰分析に使用される主要な統(tǒng)計ソフトウェア パッケージの出力を調(diào)査すると、それらの出力が同じ方法でグループ化される傾向があることがわかります。多くの場合、要約テーブル、分散分析テーブル、パラメータ推定テーブル、および R 値が含まれます。同様に、次の名前でいくつかの出力メソッドを作成しました:

showsummaryTable()
showAnalysisOfVariance()
showParameterEstimates()
showRValues()

線形予測式を表示するメソッド (getFormula()) もあります。多くの統(tǒng)計ソフトウェア パッケージは式を出力しませんが、ユーザーが上記のメソッドの出力に基づいて式を構(gòu)築することを期待しています。これは、データのモデル化に最終的に使用する式の最終形式が、次の理由によりデフォルトの式と異なる可能性があることが理由の 1 つです:

1. Y 切片には意味のある解釈がない
2.変換されている可能性があり、最終的な解釈を得るには変換を解除する必要がある場合があります。

これらのメソッドはすべて、出力媒體が Web ページであることを前提としています。これらの集計値を Web ページ以外の媒體に出力したい場合があることを考慮して、これらの出力メソッドを SimpleLinearRegression クラスを拡張したクラスでラップすることにしました。リスト 2 のコードは、出力クラスの一般的なロジックを示すことを目的としています。共通ロジックをより目立たせるために、さまざまな show メソッドを?qū)g裝するコードが削除されました。

リスト 2. 出力クラスの共通ロジックを示します

// HTML.php

// Copyright 2003, Paul Meagher
// GPL に基づいて配布

include_once "slr/SimpleLinearRegression.php" ;

class SimpleLinearRegressionHTML は SimpleLinearRegression を拡張します {

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

function showTablesummary($x_name, $); y_name) { }

function showAnalysisOfVariance() { }

function showParameterEstimates() { }

function showFormula($x_name, $y_name) { }

function showRValues() {}
}

?>




このクラスのコンストラクターは、SimpleLinearRegression クラス コンストラクターの単なるラッパーです。つまり、SimpleLinearRegression 分析の HTML 出力を表示したい場合は、SimpleLinearRegression クラスを直接インスタンス化するのではなく、SimpleLinearRegressionHTML クラスをインスタンス化する必要があります。利點は、SimpleLinearRegression クラスを多くの未使用メソッドで亂雑にすることがなく、他の出力メディアのクラスをより自由に定義できることです (おそらく、異なるメディア タイプに同じ API を?qū)g裝します)。

グラフィック出力
これまでに実裝した出力メソッドはすべて、要約値を HTML 形式で表示します。これらのデータの散布図や線図を GIF、JPEG、または PNG 形式で表示するのにも適しています。

自分で折れ線グラフと分布図を生成するコードを書くよりも、JpGraph という PHP ベースのグラフィック ライブラリを使用する方が良いと思いました。 JpGraph は、Johan Persson によって積極的に開発されており、彼のプロジェクト Web サイトでは次のように説明されています:


最小限のコードによる「速いが不適切な」グラフであっても、非常にきめ細(xì)かい制御を必要とする複雑でプロフェッショナルなグラフであっても、JpGraph All は描畫を作成します。簡単。 JpGraph は、科學(xué)グラフにもビジネス タイプのグラフにも同様に適しています。

JpGraph ディストリビューションには、特定のニーズに合わせてカスタマイズできる多數(shù)のサンプル スクリプトが付屬しています。 JpGraph をデータ調(diào)査ツールとして使用するのは、必要なことと同様の処理を?qū)g行するサンプル スクリプトを見つけて、それを特定のニーズに合わせて調(diào)整するだけで簡単です。

リスト 3 のスクリプトは、サンプル データ探索ツール (explore.php) から抽出されたもので、ライブラリを呼び出して、Line クラスと Scatter クラスに SimpleLinearRegression 分析からのデータを設(shè)定する方法を示しています。このコードのコメントは、Johan Persson (JPGraph コードベースの文書化に優(yōu)れた仕事をしています) によって書かれました。

リスト 3. サンプル データ調(diào)査ツール、explore.php の関數(shù)の詳細(xì)
//explore.php スクリプトから抽出されたスニペット

include ("jpgraph/jpgraph.php"); /jpgraph_scatter.php");
include ("jpgraph/jpgraph_line.php");

// グラフを作成する
$graph = new Graph(300,200,'auto');
$graph->SetScale( "linlin ");

// タイトルの設(shè)定
$graph->title->Set("$title");
$graph->img->SetMargin(50,20,20,40);
$グラフ->xaxis->SetTitle("$x_name","center");
$graph->yaxis->SetTitleMargin(30);
$graph->yaxis->title->Set ("$y_name");

$graph->title->SetFont(FF_FONT1,FS_BOLD);

// X 軸がプロットの
// だけではなく常に下にあることを確認(rèn)します。 Y=0 で、これはデフォルトの位置です
$graph->xaxis->SetPos('min');

// 素敵な色で散布図を作成します
$sp1 = new ScatterPlot( $slr ->Y, $slr->X);
$sp1->mark->SetType(MARK_FILLEDCIRCLE);
$sp1->mark->SetFillColor("red"); ;SetColor("blue");
$sp1->SetWeight(3);

// 回帰直線を作成します
$lplot = new LinePlot ($ slr->PredictedY, $slr->X);
$lplot->SetWeight(2);$lplot->SetColor('navy');

// plto を行に追加します
$graph->Add($sp1);

// ... ストローク
$graph_name = "temp/test.png";
$graph->Stroke($graph_name)
?>


?>


データ調(diào)査ツール
データ調(diào)査ツールは、SimpleLinearRegressionHTML クラスと JpGraph ライブラリのメソッドを呼び出す単一のスクリプト (explore.php) で構(gòu)成されます。

このスクリプトは単純な処理ロジックを使用します。スクリプトの最初の部分では、送信されたフォーム データに対して基本的な検証を?qū)g行します。このフォーム データが検証に合格すると、スクリプトの 2 番目の部分が実行されます。

スクリプトの 2 番目の部分には、データを分析し、概要結(jié)果を HTML およびグラフィック形式で表示するコードが含まれています。リスト 4 は、explore.php スクリプトの基本的な構(gòu)造を示しています。 = 爆発(",", $x_values);
$numX = カウント($X);

if (!empty($y_values)) {
$Y = 爆発(",", $y_values); $numY = count($Y);
}

// 変數(shù)が設(shè)定されていない場合はエントリデータ入力フォームを表示

if ( (empty($title)) OR (empty($x_name)) OR (empty($x_values) ) OR
(empty($y_name)) OR (empty($conf_int)) OR (empty($y_values)) OR
($numX != $numY) ) {

// 入力フォームを表示するためのコードを省略しました

} else {

include_once "slr/SimpleLinearRegressionHTML.php";
$slr = new SimpleLinearRegressionHTML($X, $Y, $conf_int)

echo "

$title

"; slr->showTablesummary($x_name, $y_name);
echo "

";

$slr->showAnalysisOfVariance();

$slr->showParameterEstimates($x_name, $y_name);
echo "
";

$slr->showFormula($x_name, $y_name); br>";

$slr->showRValues($x_name, $y_name);
echo "
";

include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_scatter. php");
include ("jpgraph/jpgraph_line.php");

// グラフィックスを表示するためのコードは
//explore.php スクリプトにインラインです。これら 2 つの折れ線グラフのコードは
// で終わりますスクリプト:

// 散布図と折れ線グラフを表示するための省略されたコード
// 殘差プロットを表示するための省略されたコード

}

?>


Fire Loss Research
データ調(diào)査ツールの使用方法をデモンストレーションするために、次のようにします。仮定の火災(zāi)損失研究からのデータを使用します。この研究は、主要な住宅地の火災(zāi)被害額と最寄りの消防署からの距離を関連付けています。たとえば、保険會社は保険料を決定する目的でこの関係の研究に興味を持つでしょう。

この研究のデータは、図 1 の入力畫面に示されています。

図 1. 研究データを表示する入力畫面



データが送信されると、分析され、分析結(jié)果が表示されます。最初に表示される結(jié)果セットは、図 2 に示すテーブルの概要です。

図 2. テーブル サマリーは、最初に表示される結(jié)果セットです



テーブル サマリーは、入力データを表形式で示し、その他の列は予測値を示します Y、観測値に対応する Y 値と予測値の差観測値と、予測された Y 値の信頼區(qū)間の下限と上限。

図 3 は、テーブル概要の後の 3 つの高レベルのデータ概要テーブルを示しています。

図 3. テーブル概要の後に 3 つの高レベルのデータ概要テーブルを示します



分散分析テーブルは、Y 値の偏差が 2 つの主な偏差要因、つまりモデルによって説明される分散にどのように起因するかを示します(「モデル」行を參照)、およびモデルでは説明できない分散 (「エラー」行を參照)。 F 値が大きいということは、線形モデルが Y 測定の偏差の大部分を捉えていることを意味します。このテーブルは、各獨立変數(shù)がテーブル內(nèi)に行を持つ重回帰環(huán)境でより役立ちます。

パラメータ推定テーブルには、推定された Y 軸切片 (Intercept) と傾き (Slope) が表示されます。各行には、T 値と、極値の T 値が観測される確率が含まれています (「確率」>「T」列を參照)。 Prob > T の傾きは、線形モデルを棄卻するために使用できます。

T 値の確率が 0.05 より大きい (または同様に小さい確率) 場合、極値がランダムに観測される確率は小さいため、帰無仮説を棄卻できます。それ以外の場合は、帰無仮説を使用する必要があります。

火災(zāi)損失の研究では、サイズ 12.57 の T 値をランダムに取得する確率は 0.00000 未満です。これは、線形モデルが、研究で観察された X 値の範(fàn)囲に対応する Y 値の有用な予測子 (Y 値の平均よりも優(yōu)れている) であることを意味します。

最終レポートには相関係數(shù)または R 値が表示されます。これらは、線形モデルがデータにどの程度適合しているかを評価するために使用できます。高い R 値は、良好な一致を示します。

各概要レポートでは、線形モデルとデータの関係に関するさまざまな分析上の質(zhì)問に対する回答が提供されます。回帰分析のより高度な処理については、Hamilton、Neter、または Pedhauzeur の教科書を參照してください (「參考文獻(xiàn)」を參照)。

表示される最終的なレポート要素は、図 4 に示すように、データの分布プロットと折れ線プロットです。

図 4. 最終レポートの要素 - 分布プロットと折れ線グラフ



ほとんどの人は折れ線グラフ (このシリーズの最初のグラフなど) の説明に精通しているので、これについてはコメントせず、単に「The JPGraph」とだけ言います。ライブラリは、Web 用の高品質(zhì)な科學(xué)グラフを作成します。分布データや直線データを入力する場合にも優(yōu)れた機能を発揮します。

2 番目のグラフは、殘差 (観測された Y、予測された Y) を予測された Y 値に関連付けます。これは、データ內(nèi)のパターンを検出して理解するアナリストの能力を最大限に高めるために、探索的データ分析 (EDA) の提唱者によって使用されるグラフの例です。専門家は、このプロットを使用して次の質(zhì)問に答えることができます:

考えられる非正規(guī)値または過剰な影響の例
考えられる曲線関係 (変換を使用?)
非正規(guī)殘差分布
非定數(shù)誤差の分散または差異 分散

このデータ調(diào)査ツールは簡単に拡張でき、標(biāo)準(zhǔn) EDA ツールであるヒストグラム、箱ひげ図、四分位図など、より多くの種類のグラフを作成できます。

數(shù)學(xué)ライブラリのアーキテクチャ
私の數(shù)學(xué)の趣味により、ここ數(shù)か月間、數(shù)學(xué)ライブラリに興味を持ち続けています。このような調(diào)査を行うことで、コード ベースを整理し、將來の成長を予測する方法を考えるようになります。

リスト 5 のディレクトリ構(gòu)造を一時的に使用しています。

リスト 5. 拡張しやすいディレクトリ構(gòu)造
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/




たとえば、將來の倍數(shù)この作業(yè)には、行列演算 (より高度な形式の回帰分析に必要) を?qū)g行する PHP コードを格納するために使用される行列ディレクトリを含めるためにこのライブラリを拡張することが含まれます。また、重回帰分析の入力メソッド、ロジック、出力メソッドを?qū)g裝する PHP コードを格納する mr ディレクトリも作成します。

このディレクトリ構(gòu)造には一時ディレクトリが含まれていることに注意してください。このディレクトリに対する権限は、explorer.php スクリプトが出力イメージをこのディレクトリに書き込むことができるように設(shè)定する必要があります。 phpmath_002.tar.gz ソース コードをインストールするときは、この點に注意してください。さらに、JpGraph プロジェクト Web サイトにある JpGraph のインストール手順をお読みください (「參考文獻(xiàn)」を參照)。

最後に、次の手順を?qū)g行すると、すべてのソフトウェア クラスを Web ルートの外側(cè)のドキュメント ルートに移動できます:


Web ルート以外の場所にアクセスできるようにグローバル PHP_MATH 変數(shù)を有効にし、
すべてが必要であることを確認(rèn)しますまたは、含まれるファイル パスには、この定義された定數(shù)が接頭辭として付けられます。

將來的には、PHP_MATH 変數(shù)の設(shè)定は、PHP 數(shù)學(xué)ライブラリ全體の構(gòu)成ファイルを通じて行われる予定です。

何を?qū)Wびましたか?
この記事では、SimpleLinearRegression クラスを使用して小規(guī)模から中規(guī)模のデータセット用のデータ調(diào)査ツールを開発する方法を?qū)Wびました。その過程で、SimpleLinearRegression クラスで使用するネイティブ確率関數(shù)も開発し、そのクラスを HTML 出力メソッドと JpGraph ライブラリに基づくグラフ生成コードで拡張しました。

學(xué)習(xí)の観點から見ると、単純な線形回帰モデリングは、より高度な形式の統(tǒng)計モデリングを理解する唯一の方法であることが証明されているため、さらに研究する価値があります。重回帰や多変量分散分析などのより高度な手法に取り組む前に、単純な線形回帰をしっかりと理解することが重要です。

単純な線形回帰が、別の変數(shù)の偏差を説明または予測するために 1 つの変數(shù)のみを使用する場合でも、すべての研究変數(shù)間の単純な線形関係を見つけることが、研究データ分析の最初のステップであることがよくあります。データが多変量であるからといって、多変量ツールを使用して調(diào)査する必要があるというわけではありません。実際、単純な線形回帰などの基本的なツールから始めることは、データ內(nèi)のパターンの調(diào)査を開始するための優(yōu)れた方法です。

このシリーズでは、単純な線形回帰分析の 2 つのアプリケーションを検証します。この記事では、「消防署までの距離」と「火災(zāi)による損失」の間の強い線形関係を調(diào)べます。最初の記事では、「社會的集中」と、弱いながらも依然として重要な「消費指數(shù)」と呼ばれる指標(biāo)との間の線形関係に注目しました。 (演習(xí)として、この記事で説明したデータ調(diào)査ツールを使用して、最初の調(diào)査ケースのより亂雑なデータを再調(diào)査してみると興味深いかもしれません。y 切片が負(fù)であるケースに気づくかもしれません。これは、「社會的集中」が0 の場合、予測される消費指數(shù)は -29.50 です。これは意味がありますか? 現(xiàn)象をモデル化するときは、方程式にオプションの y 切片を含めるべきか、含める場合は y 切片がどのような役割を果たすのかを自問する必要があります。線形方程式での切片の再生)

単純な線形回帰のさらなる研究には、次のトピックの研究が含まれる場合があります:


* 方程式や他の計算式から切片を省略したい場合は、いつ行うことができます。
* 単純線形回帰でデータをモデル化するために、べき乗、対數(shù)、その他の変換を使用してデータを線形化する時期と方法
* モデリングの前提條件の適切性を評価するために使用でき、パターンに対するより明確な洞察を提供できるその他の視覚化方法を使用できます。データ

これらは、単純な線形回帰を?qū)W習(xí)する學(xué)生の一部として學(xué)習(xí)する、より高度なトピックです。リソースには、回帰分析について詳しく學(xué)ぶことができる高度なトピックに関する記事へのリンクがいくつか含まれています。

標(biāo)準(zhǔn)の PHP インストールでは、重要な數(shù)學(xué)ベースのアプリケーションの開発に必要な多くのリソースが提供されます。この一連の記事が他の開発者に、楽しい、技術(shù)的な、または學(xué)習(xí)上の課題のために PHP で數(shù)學(xué)的ルーチンを?qū)g裝するきっかけになれば幸いです。


関連添付資料: この記事で使用されているソース コードをダウンロードします

參考文獻(xiàn)
1. 詳細(xì)については、James T. McClave および Terry Sincich 編集の人気のある大學(xué)教科書 Statistics、第 9 版 (Prentice-Hall、オンライン) を參照してください。この記事で使用されているアルゴリズムのステップと「バーンアップ スタデ?!工卫稀ⅳ长伪兢閰⒄栅丹欷皮い蓼?。
2. 現(xiàn)在、少數(shù)の低レベル PHP 數(shù)學(xué)クラスが含まれている PEAR リポジトリをチェックしてください。最終的には、SimpleLinearRegression、MultipleRegression、TimeSeries、ANOVA、FactorAnalysis、FourierAnalysis などの標(biāo)準(zhǔn)的な高レベルの數(shù)値手法を?qū)g裝するパッケージが PEAR に含まれるようになるとよいでしょう。
3. 作成者の SimpleLinearRegression クラスのすべてのソース コードを表示します。
4. 非常に科學(xué)的な配列言語と添え字を確立する成熟した方法で Python を拡張する Numerical Python プロジェクトについて學(xué)びます。この拡張機能を使用すると、數(shù)學(xué)的演算がコンパイル言語に期待されるものに非常に近くなります。
5. Perl の數(shù)學(xué)モジュールへの CPAN インデックスと CPAN のアルゴリズム セクション、および Perl の次元データの圧縮ストレージと高速操作を提供するように設(shè)計された Perl データ言語など、Perl で利用可能な多くの數(shù)學(xué)的リファレンスを調(diào)べます。アレイ機能。
6. John Chambers の S プログラミング言語について詳しくは、彼の出版物と Bell Labs のさまざまな研究プロジェクトへのリンクをご覧ください。 1998 年の ACM 賞言語デザイン賞についてもご覧ください。
7.R は、統(tǒng)計コンピューティングおよびグラフィックスのための言語および環(huán)境であり、受賞歴のある S System と同様に、R は線形および非線形モデリング、統(tǒng)計テスト、時系列分析、分類、クラスタリングなどの統(tǒng)計およびグラフィックス技術(shù)を提供します。 。 R については、R プロジェクトのホームページで學(xué)習(xí)してください。
8. PHP を初めて使用する場合は、Amol Hatwar の developerWorks シリーズの記事「PHP を使用した堅牢なコードの開発:」「パート 1: 高水準(zhǔn)の入門」(2002 年 8 月)、「パート 2: 効果的な」を読んでください。変數(shù)の賢い使用」 (2002 年 9 月) および「パート 3: 再利用可能な関數(shù)の作成」 (2002 年 11 月)。
9. John Pezullo の優(yōu)れたサイトにアクセスしてください。統(tǒng)計計算の実行に特化した Web ページが提供されています。 PHP ベースの確率関數(shù)は、John の確率関數(shù)ページにあるコードに基づいています。
10. M. Abramowitz と I.A. Stegun による書籍『The Handbook of Mathematical Functions (AMS55 としても知られる)』について詳しく知るには、數(shù)學(xué)関數(shù)のデジタル ライブラリにアクセスしてください。
11. PHP のメイン OO グラフィックス ライブラリに関する豊富な情報については、JpGraph サイトをチェックしてください。
12. National Institute of Standards and Technology (NIST) が発行する「Engineering Handbook of Statistics」を読む。このマニュアルには探索的データ分析に関するいくつかの章があり、非常に優(yōu)れています。
13. 回帰のトピックについて詳しく知りたい場合は、次の有益な參考文獻(xiàn)を読んでみてください:

L. ハミルトン (1992)。グラフィックによる回帰。カリフォルニア州パシフィックグローブ:ブルックス/コール出版社。
J Neter、M.H. Kutner、W Wasserman W (1990)。応用線形回帰モデル (第 3 版)。シカゴ?アーウィン。
E. J. ペダズール (1982)。行動研究における重回帰。ニューヨーク州ニューヨーク州:ホルト、ラインハート、ウィンストン。

14. Cameron Laird の記事「生物科學(xué)におけるオープンソース」を読んでください。 PHP には、この成長市場に參加するために、より優(yōu)れた數(shù)學(xué)ツールが必要です (developerWorks、2002 年 11 月)。
15. Web ベースの R インターフェイスである RWeb を確認(rèn)してください。



このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPを使用してソーシャル共有機能を構(gòu)築する方法PHP共有インターフェイス統(tǒng)合プラクティス PHPを使用してソーシャル共有機能を構(gòu)築する方法PHP共有インターフェイス統(tǒng)合プラクティス Jul 25, 2025 pm 08:51 PM

PHPでソーシャル共有機能を構(gòu)築するコア方法は、各プラットフォームの要件を満たす共有リンクを動的に生成することです。 1.最初に現(xiàn)在のページまたは指定されたURLおよび記事情報を取得します。 2。urlencodeを使用してパラメーターをエンコードします。 3.各プラットフォームのプロトコルに従って、共有リンクをスプライスおよび生成します。 4.ユーザーがクリックして共有できるように、フロントエンドにリンクを表示します。 5.ページ上のOGタグを動的に生成して、コンテンツディスプレイの共有を最適化します。 6. XSS攻撃を防ぐために、必ずユーザーの入力を逃がしてください。この方法は、複雑な認(rèn)証を必要とせず、メンテナンスコストが低く、ほとんどのコンテンツ共有ニーズに適しています。

PHPはAIインテリジェント音聲アシスタントPHP音聲相互作用システムの構(gòu)築を呼び出す PHPはAIインテリジェント音聲アシスタントPHP音聲相互作用システムの構(gòu)築を呼び出す Jul 25, 2025 pm 08:45 PM

ユーザー音聲入力がキャプチャされ、フロントエンドJavaScriptのMediareCorder APIを介してPHPバックエンドに送信されます。 2。PHPはオーディオを一時ファイルとして保存し、STTAPI(GoogleやBaiduの音聲認(rèn)識など)を呼び出してテキストに変換します。 3。PHPは、テキストをAIサービス(Openaigptなど)に送信して、インテリジェントな返信を取得します。 4。PHPは、TTSAPI(BaiduやGoogle Voice Synthesisなど)を呼び出して音聲ファイルに返信します。 5。PHPは、音聲ファイルをフロントエンドに戻し、相互作用を完了します。プロセス全體は、すべてのリンク間のシームレスな接続を確保するためにPHPによって支配されています。

AIと組み合わせてPHPを使用してテキストエラー修正PHP構(gòu)文検出と最適化を?qū)g現(xiàn)する方法 AIと組み合わせてPHPを使用してテキストエラー修正PHP構(gòu)文検出と最適化を?qū)g現(xiàn)する方法 Jul 25, 2025 pm 08:57 PM

AIによるテキストエラーの修正と構(gòu)文最適化を?qū)g現(xiàn)するには、次の手順に従う必要があります。1。Baidu、Tencent API、またはオープンソースNLPライブラリなどの適切なAIモデルまたはAPIを選択します。 2。PHPのカールまたはガズルを介してAPIを呼び出し、返品結(jié)果を処理します。 3.アプリケーションにエラー修正情報を表示し、ユーザーが採用するかどうかを選択できるようにします。 4.構(gòu)文の検出とコードの最適化には、PHP-LとPHP_CODESNIFFERを使用します。 5.フィードバックを継続的に収集し、モデルまたはルールを更新して効果を改善します。 AIAPIを選択するときは、PHPの精度、応答速度、価格、サポートの評価に焦點を當(dāng)てます。コードの最適化は、PSR仕様に従い、キャッシュを合理的に使用し、円形クエリを避け、定期的にコードを確認(rèn)し、Xを使用する必要があります。

PHPは、PHPコメントレビューとアンチブラシ戦略を収益化するためのブログコメントシステムを作成します PHPは、PHPコメントレビューとアンチブラシ戦略を収益化するためのブログコメントシステムを作成します Jul 25, 2025 pm 08:27 PM

1.コメントシステムの商業(yè)的価値を最大化するには、ネイティブ広告の正確な配信、ユーザー有料の付加価値サービス(寫真のアップロード、トップアップコメントなど)、コメントの品質(zhì)に基づくインセンティブメカニズム、コンプライアンス匿名データ洞察の収益化に影響を與える必要があります。 2。監(jiān)査戦略では、コンテンツの品質(zhì)評価によって補足されたコンテンツの階層的露出を?qū)g現(xiàn)するために、コメントの品質(zhì)評価によって補足された、監(jiān)査前の動的キーワードフィルタリングとユーザー報告メカニズムの組み合わせを採用する必要があります。 3.アンチブラシには、多層防御の構(gòu)築が必要です。RecaptChav3センサーのレス検証、ハニーポットハニーポットフィールド認(rèn)識ロボット、IPおよびタイムスタンプの頻度制限により、水の散水が防止され、コンテンツパターン認(rèn)識が疑わしいコメントを示し、攻撃を継続的に繰り返します。

PHPを使用してAIを組み合わせて畫像を生成する方法。 PHPは自動的にアートワークを生成します PHPを使用してAIを組み合わせて畫像を生成する方法。 PHPは自動的にアートワークを生成します Jul 25, 2025 pm 07:21 PM

PHPは、AI畫像処理を直接実行するのではなく、APIを介して統(tǒng)合します。これは、コンピューティング集約型タスクではなくWeb開発に優(yōu)れているためです。 API統(tǒng)合は、専門的な分業(yè)を達(dá)成し、コストを削減し、効率を向上させることができます。 2。主要なテクノロジーの統(tǒng)合には、GuzzleまたはCurlを使用してHTTPリクエスト、JSONデータエンコードとデコード、APIキーセキュリティ認(rèn)証、非同期キュー処理時間を処理するタスク、堅牢なエラー処理と再試行メカニズム、畫像ストレージとディスプレイが含まれます。 3.一般的な課題には、APIコストが制御不能、制御不能な生成結(jié)果、ユーザーエクスペリエンスの低さ、セキュリティリスク、困難なデータ管理が含まれます。対応戦略は、ユーザーの割り當(dāng)てとキャッシュを設(shè)定し、プロップガイダンスとマルチピクチャの選択、非同期通知と進(jìn)捗プロンプト、主要な環(huán)境変數(shù)ストレージとコンテンツ監(jiān)査、クラウドストレージを提供します。

PHPは、商品在庫管理と収益化PHP在庫の同期とアラームメカニズムを?qū)g現(xiàn)します PHPは、商品在庫管理と収益化PHP在庫の同期とアラームメカニズムを?qū)g現(xiàn)します Jul 25, 2025 pm 08:30 PM

PHPは、データベーストランザクションと任意の行ロックを通じて在庫控除原子性を保証し、高い同時過剰販売を防ぎます。 2。マルチプラットフォームの在庫の一貫性は、集中管理とイベント駆動型の同期に依存し、API/Webhook通知とメッセージキューを組み合わせて、信頼できるデータ送信を確保します。 3.アラームメカニズムは、さまざまなシナリオで低在庫、ゼロ/ネガティブインベントリ、販売、補充サイクル、異常な変動戦略を設(shè)定し、緊急性に応じてDingTalk、SMS、または電子メールの責(zé)任者を選択する必要があり、アラーム情報は完全かつ明確にしてビジネス適応と迅速な対応を?qū)g現(xiàn)する必要があります。

ランプスタックを超えて:現(xiàn)代のエンタープライズアーキテクチャにおけるPHPの役割 ランプスタックを超えて:現(xiàn)代のエンタープライズアーキテクチャにおけるPHPの役割 Jul 27, 2025 am 04:31 AM

phpisStillRelevantinModernenterpriseenvironments.1.modernphp(7.xand8.x)は、パフォーマンスゲイン、stricttyping、jit compilation、andmodernsyntaxを提供し、scaleApplications.2.phpintegrateSeffeCtiveTiveliveTiveliveTiveliveTiveTiveTiveliveTiveStures、

PHP統(tǒng)合AI音聲認(rèn)識と翻訳者PHP會議記録自動生成ソリューション PHP統(tǒng)合AI音聲認(rèn)識と翻訳者PHP會議記録自動生成ソリューション Jul 25, 2025 pm 07:06 PM

適切なAI音聲認(rèn)識サービスを選択し、PHPSDKを統(tǒng)合します。 2。PHPを使用してFFMPEGを呼び出して、録音をAPIrequiredフォーマット(WAVなど)に変換します。 3.ファイルをクラウドストレージにアップロードし、APIの非同期認(rèn)識を呼び出します。 4. JSONの結(jié)果を分析し、NLPテクノロジーを使用してテキストを整理します。 5.単語またはマークダウンドキュメントを生成して、會議記録の自動化を完了します。プロセス全體では、データの暗號化、アクセス制御、コンプライアンスを確保して、プライバシーとセキュリティを確保する必要があります。

See all articles