ホームページ > php教程 > php手册 > PHP で Web データ分析を次のレベルに引き上げる

PHP で Web データ分析を次のレベルに引き上げる

WBOY
リリース: 2016-06-21 09:14:27
オリジナル
864 人が閲覧しました

ウェブ|データ

データ分析を計画し、単純な生カウント以上のことを実行してください


Web データの効果的かつマルチレベル分析は、多くの Web 指向企業の存続と、データ分析検査の設計 (および意思決定) にとって重要な要素ですこれは、多くの場合、生のカウントを表にできること以外には統計についてあまり詳しくないシステム管理者や社内アプリケーション設計者の仕事です。この記事では、Paul Meagher が Web 開発者に、推論統計を Web データ ストリームに適用するために必要なスキルと概念を教えます。

動的な Web サイトでは、アクセス ログ、アンケートやアンケートの結果、顧客プロファイル、注文など、膨大な量のデータが常に生成されています。Web 開発者の仕事は、このデータを生成するアプリケーションを作成するだけでなく、流れを作るプロセス 意味のあるアプリケーションと方法。

多くの場合、Web 開発者は、サイトの管理によって生成されるデータ分析のニーズの増大に対処するには不十分です。一般に、Web 開発者にとって、データ フローの特性を反映するには、さまざまな記述統計を報告する以外に優れた方法はありません。推論統計のステップ(標本データから母集団パラメータを推定する方法)には活用できそうなものがたくさんありますが、現在は適用されていません。

たとえば、Web アクセス統計 (現在編集されているもの) は、さまざまな方法でグループ化された頻度カウントにすぎません。生の数やパーセンテージで表される世論調査や調査結果は数多くあります。

開発者はデータ フローの統計分析を比較的簡単な方法で処理できれば十分かもしれませんが、過度の期待は禁物です。結局のところ、より複雑なデータ フロー分析を行う専門家がいます。彼らは統計学者であり、訓練を受けたアナリストです。組織が単なる記述統計以上の情報を必要とする場合は、参加を依頼することができます。

しかし、もう 1 つの反応は、推論統計に対する理解が深まり、Web 開発者の職務内容の一部になりつつあることを認めることです。動的サイトではますます多くのデータが生成されており、このデータを有用な知識に変える方法を見つけるのが Web 開発者とシステム管理者の責任であることがわかりました。

私は後者の対応を支持します。この記事は、Web 開発者とシステム管理者が推論統計を Web データ フローに適用するために必要な設計と分析のスキルを学ぶ (知識を忘れている場合は復習する) のに役立つことを目的としています。


実験計画に関連する Web データを作成する

推論統計を Web データ ストリームに適用するには、さまざまな統計テストの基礎となる数学を学ぶだけでは不十分です。また、データ収集プロセスを実験計画の主な違いに関連付けることも重要です。つまり、測定のスケールは何ですか?サンプルはどの程度代表的なものですか?全体像は何ですか?どのような仮説が検証されていますか?

推論統計を Web データ フローに適用するには、まず実験計画によって生成された結果を考慮し、次にその実験計画に適した分析プロセスを選択する必要があります。 Web ポーリングやアクセス ログ データを実験の結果として考えるのは冗長だと思うかもしれませんが、そうすることは非常に重要です。なぜ?

1. これは、適切な統計検定方法を選択するのに役立ちます。
2. これは、収集されたデータから適切な結論を導き出すのに役立ちます。

どの適切な統計検定を使用するかを決定する際に、実験計画の重要な側面は、データ収集のための測定スケールの選択です。


スケールの例

測定スケールは、対象の現象に記号、文字、または数字を割り当てるステップを指定するだけです。たとえば、キログラムスケールを使用すると、測定器の標準化されたオフセットに基づいて重量を示す数値を物体に割り当てることができます。

4 つの重要な測定値があります:

比率 - キログラム スケールは比率スケールの一例です。オブジェクトのプロパティに割り当てられた記号には数値的な意味があります。これらのシンボルに対しては、強力ではないメジャーを使用して取得された数値には使用できないさまざまな操作 (比率の計算など) を実行できます。


間隔 — 間隔スケールでは、隣接する 2 つの測定単位間の距離 (間隔とも呼ばれます) は等しいですが、ゼロ点は任意です。間隔スケールの例には、経度と潮位の測定値、およびさまざまな年の始まりと終わりの測定値が含まれます。間隔スケールの値は加算および減算できますが、乗算および除算は意味がありません。


順序スケール (ランク) - ランク付きスケールは、順序付けされたデータのセットに適用できます。順序付きとは、スケールに属する値と観測値を順番に並べるか、評価スケールを伴うことを意味します。一般的な例には、個々の属性に数値が割り当てられる「好き嫌い」アンケートが含まれます (1 = 非常に嫌い、5 = 非常に好き)。通常、順序付けされたデータ セットのカテゴリには自然な順序がありますが、スケール上の隣接する点間の距離は常に同じである必要はありません。順序付けされたデータでは、数えたり並べ替えたりすることはできますが、測定することはできません。


名目 – メジャーの最も弱い形式である名目スケーリングは、アイテムをグループまたはカテゴリに割り当てることです。この測定には定量的な情報は含まれず、項目のランク付けを意味するものでもありません。カテゴリスケーリング データに対して実行される主な数値演算は、各カテゴリ内の項目の頻度カウントです。
以下の表は、各メジャーの特性を比較しています:

メジャースケール 属性には絶対的な数値的な意味がありますか? ほとんどの数学的演算を実行できますか?
一定比率スケール はい。 はい。
間隔スケール これは間隔スケールに当てはまります。ゼロ点は任意です。 加減。
オーディナルスケールNo. 数えて仕分けする。
カテゴリースケールNo. 数えることしかできない。

この記事では、カテゴリカルな測定尺度を使用して収集されたデータと、カテゴリカルなデータに適した推論手法に焦点を当てます。


カテゴリカル スケーリングの使用

デザイナー、クライアント、システム管理者など、ほぼすべての Web ユーザーは、カテゴリカル スケーリングについてよく知っています。 Web アンケートは、指標としてカテゴリスケールを使用することが多いという点でアクセス ログに似ています。 Web アンケートでは、ユーザーは「ブランド A、ブランド B、またはブランド C のどれが好きですか?」などの回答オプションを選択するよう求めることで、人々の好みを測定することがよくあります。データは、各タイプの応答の頻度を数えることによって要約されました。

同様に、Web サイトのトラフィックを測定する一般的な方法は、その曜日までの各クリックまたは訪問を分割し、毎日発生するクリックまたは訪問の数をカウントすることです。さらに、ブラウザの種類、オペレーティング システムの種類、訪問者の国、および想像できるあらゆる分類スケールごとにクリック数をカウントすることができます (実際に実行します)。

Web アンケートと訪問統計は両方とも、データが特定の性質のカテゴリに分類される回数をカウントする必要があるため、同様のノンパラメトリック統計テスト (パラメーターではなく分布の形状に基づいて推論を行うことができるテスト)人口の)を使用して分析できます。

David Sheskin は、パラメトリック統計手続きとノンパラメトリック統計手続きのハンドブック (1997 ページ 19) の中で、パラメトリック テストとノンパラメトリック テストを次のように区別しています:


この本では、手続きはパラメトリック テストとして分類されています。ノンパラメトリック検定の場合、主に分析対象のデータによって表される測定レベルに基づきます。原則として、カテゴリ/カテゴリスケール データおよび順序/順位順序データを評価する推論統計テストはノンパラメトリック テストとして分類され、区間スケール データまたは比率スケール データを評価する推論統計テストはパラメトリック テストとして分類されます。


ノンパラメトリック検定は、パラメトリック検定の基礎となる前提条件の一部に疑問がある場合にも役立ちます。パラメトリック前提条件が満たされない場合、ノンパラメトリック検定は母集団の差異を検出するのに非常に役立ちます。 Web 世論調査の例では、Web 世論調査では通常、カテゴリカル スケールを使用して有権者の好みを記録するため、ノンパラメトリック分析手順を使用しました。

私は、Web 世論調査や Web アクセス統計で常にカテゴリースケール測定を使用する必要がある、またはノンパラメトリック統計検定がこの種のデータの分析に利用できる唯一の方法であると言っているわけではありません。たとえば、ユーザーに各オプションの数値評価 (1 ~ 100) を提供するよう求める世論調査や調査は、パラメトリック統計テストが適切であることを想像するのは簡単です。

それにもかかわらず、多くの Web データ フローには、カテゴリ数データの編集が含まれており、間隔スケール (例: 17 から 21) を定義し、各データ ポイントを間隔スケール (例: 「若者」) に割り当てることで、これらのデータ (使用して測定)より強力な尺度) はカテゴリスケール データになります。頻度データは遍在しているため (Web 開発者のエクスペリエンスの一部となっています)、ノンパラメトリック統計に焦点を当てることは、データ ストリームに推論手法を適用する方法を学ぶための良い出発点となります。

この記事を適切な長さに保つために、Web データ フロー分析の説明を Web 投票に限定します。ただし、多くの Web データ フローはカテゴリ別カウント データで表すことができ、ここで説明する推論テクニックを使用すると、単純なカウント データをレポートする以上のことができることに留意してください。


サンプリングから始めましょう

あなたのサイト www.NovaScotiaBeerDrinkers.com で毎週アンケートを実施し、さまざまなトピックについてメンバーに意見を求めたとします。メンバーにお気に入りのビール ブランドを尋ねるアンケートを作成しました (カナダのノバスコシア州には、Keiths、Olands、および Schooner の 3 つの有名なビール ブランドがあります)。アンケートをできるだけ広範囲に行うため、回答に「その他」を含めてください。

1,000 件の回答を受け取りました。表 1 の結果を確認してください。 (この記事に示されている結果はデモンストレーションのみを目的としており、実際の調査に基づいたものではありません。)

表 1. ビールに関するアンケート キース オーランズ スクーナー その他
285 (28.50%) 250 (25.00%) 215 (21.50%) 250 (25.00 %)

このデータは、Keiths がノバスコシア州の住民の間で最も人気のあるブランドであるという結論を裏付けているようです。これらの数字に基づいて、この結論を導き出すことができますか?言い換えれば、サンプルから得られた結果に基づいて、ノバスコシア州のビール消費者の人口について推測できますか?

サンプルの収集方法に関連する多くの要因により、相対的な人気に関する推論が不正確になる可能性があります。もしかしたら、サンプルに含まれているキース ブルワリーの従業員が多すぎるかもしれません。もしかしたら、1 人が複数回投票することを完全に防げていないため、その人が投票対象に選ばれた人と選ばれなかった人が異なる可能性があります。投票する人は異なります。オンラインに参加する有権者と、オンラインに参加しない有権者は異なるのかもしれません。

ほとんどのウェブ世論調査には、このような解釈上の困難があります。こうした解釈上の困難は、標本統計量から母集団パラメータについて結論を導き出そうとするときに生じます。実験計画の観点から見ると、データを収集する前に最初に尋ねるべき質問の 1 つは、サンプルが研究対象の母集団を代表していることを確認するための措置を講じることができるかどうかです。

調査対象の母集団について結論を出すことが (サイト訪問者にエンターテイメントを提供するのではなく) Web 投票を行う動機である場合は、1 人 1 票を保証する何らかの手法を実装する必要があります (そのため、ユーザーを一意に識別する必要があります)投票するには誰がログインする必要があるか)、投票者のランダムなサンプルを確保します(たとえば、メンバーのサブセットをランダムに選択し、投票を促す電子メールを送信します)。

最終的な目標は、研究対象の母集団について結論を引き出す能力を損なう可能性のある種類のバイアスを排除する (または少なくとも減らす) ことです。


仮説のテスト

ノバスコシア州のビール消費者の統計サンプルに偏りがないと仮定すると、キースが最も人気のあるブランドであると結論付けることができますか?

この質問に答えるには、関連する質問を検討してください。ノバスコシア州のビール消費者の別のサンプルを入手した場合、まったく同じ結果が得られると期待しますか?実際には、サンプル間で観察される結果には多少のばらつきがあることが予想されます。

この予想されるサンプリングの変動を考慮すると、観察されたブランドの好みは、調査対象の母集団の実際の違いを反映するよりも、ランダムなサンプリングの変動によってよりよく説明されるのではないかと疑問に思うかもしれません。統計用語では、このサンプリング変動の説明は帰無仮説と呼ばれます。 (帰無仮説は記号 Ho で表されます。) この場合、式で表されます。 期待される応答数は、応答が行われるすべてのカテゴリで同じです。

Ho: #Keiths = #Olands = #Scooner = #Other

帰無仮説を排除できれば、Keiths が最も人気のあるブランドであるかどうかという元の質問への答えがある程度進歩したことになります。したがって、もう 1 つの許容可能な仮説は、調査対象の集団ではさまざまな反応が異なる形で表されるということです。

この「最初に帰無仮説をテストする」ロジックは、ポーリング データ分析の複数の段階で適用されます。データが完全に異なっていないようにこの帰無仮説を排除してから、キースとスクーナーの間、またはキースと他のすべてのブランドの間に違いがないという、より具体的な帰無仮説の検定に進むことができます。

帰無仮説の下で観察されると予想されるものを統計的にモデル化する方が簡単であるため、別の仮説を直接評価するのではなく、帰無仮説のテストに進みます。次に、帰無仮説の下で期待されるものをモデル化して、自分の観察を帰無仮説の下で期待されるものと比較できるようにする方法を示します。


帰無仮説のモデル化: X 二乗分布統計

これまで、各回答オプションの頻度数 (およびパーセンテージ) を報告する表を使用して Web アンケートの結果を要約しました。帰無仮説 (表のセルの頻度に差がない) をテストするには、帰無仮説の下で予想される値からの各表のセルの全体的な偏差の尺度を計算する方がはるかに簡単です。

このビールの人気投票の例では、帰無仮説の下での期待頻度は次のとおりです:

期待頻度 = 観測数 / 回答選択肢の数
期待頻度 = 1000 / 4
期待頻度 = 250


各ユニットの応答が予想される周波数からどの程度異なるかの全体的な尺度を計算するには、すべての差異を合計して、観測された周波数が予想される周波数からどの程度異なるかを反映する全体的な尺度を計算できます: (285 - 250) + (250) - 250 ) + (215 - 250) + (250 - 250)。

これを行うと、平均からの偏差の合計は常に 0 であるため、期待頻度が 0 であることがわかります。この問題を解決するには、すべての差を二乗する必要があります (これが X 二乗分布 (カイ二乗) の二乗の由来です)。最後に、この値を異なる観測数のサンプル間で比較できるようにする (つまり、正規化する) には、この値を予想頻度で除算します。したがって、X 二乗分布統計量の式は次のようになります (「O」は「観測頻度」を表し、「E」は「期待頻度」に相当します):

図 1. X 二乗分布統計量の式




ビールを計算すると 人気投票データの X 二乗分布の値は 9.80 になります。帰無仮説をテストするには、ランダムなサンプリングの変動を仮定して、そのような制限値が得られる確率を知る必要があります。この確率に到達するには、X 二乗分布の標本分布がどのようなものかを理解する必要があります。


X 二乗分布の標本分布を観察してください

図 2. X 二乗分布グラフ



各グラフの横軸は、結果として得られる値の X 二乗分布のサイズを表します (グラフでは 0 から 10 の範囲で示されています)。縦軸は、各 X 二乗分布値の確率 (または相対的な出現頻度) を示します。

これらの X 二乗分布プロットを調べるとき、実験で自由度 (つまり df) を変更すると、確率関数の形状が変化することに注意してください。ポーリング データの例では、自由度は次のように計算されます。ポーリング内の回答オプションの数 (k) に注目し、この値から 1 を減算します (df = k - 1)。

一般に、実験での応答オプションの数を増やすと、より大きな X 二乗分布値が得られる確率は減少します。これは、応答オプションを追加すると、合計できる分散値の数 — (観測値 - 期待値)2 — が増加するためです。したがって、応答オプションを増やすと、大きな X 二乗値を取得する統計的確率が増加する一方、より小さな X 二乗値を取得する確率は減少するはずです。 X 二乗分布の標本分布の形状が df の値によって変化するのはこのためです。

また、通常、X 二乗分布結果の小数部分には関心がなく、得られた値の右側にある曲線の合計部分に関心があることに注意してください。仮数確率は、観察したような制限を取得することが可能 (たとえば、大きな仮数領域の場合) か不可能 (小さな仮数領域の場合) を示します。 (実際には、X 二乗分布の値を指定して仮数確率を返す数学関数を実装できるため、これらのプロットを仮数確率の計算には使用しません。説明した X 二乗分布プログラムでこのアプローチを使用します。この記事の後半で説明します。)

これらのグラフがどのように導出されるかをさらに理解するには、df = 2 (k = 3 を表す) に対応するグラフの内容をシミュレートする方法を見てください。 1、2、3 の数字を帽子の中に入れて振って数字を選択し、試しに選んだ数字を記録することを想像してください。この実験を 300 回試して、1、2、3 がどのくらいの頻度で発生するかを数えてください。

この実験を行うたびに、結果の頻度分布はわずかに異なり、可能な確率の範囲から実際に逸脱することなくサンプリングの変動を反映したものになることが予想されます。

以下の Multinomial クラスは、このアイデアを実装しています。このクラスは、実行する実験の数、各実験で行われる試行回数、各試行のオプションの数の値で初期化できます。各実験の結果は、Outcomes と呼ばれる配列に記録されます。

リスト 1. Multinomial クラスの内容


// Multinomial.php

// Copyright 2003, Paul Meagher
// LGPL の下で配布

class Multinomial {

var $NExps;
var $NTrials;
var $NOptions;
var $Outcomes = array();

function Multinomial($NExps, $NTrials, $NOptions) {
$this->NExps = $NExps;
$this->NTrials = $NTrials;
$this->NOptions = $NOptions;
for ($i=0; $i <$this->NExps; $i++) {
$this->結果[$i] = $this->runExperiment();
}
}

function runExperiment() {
$Outcome = array();
for ($i <$this->NExps; $i++) {
$choice = rand(1,$this->NOOptions);
$Outcome[$choice]++;
}
return $Outcome;
}

}
?>



runExperiment メソッドはスクリプトの非常に重要な部分であり、各実験で行われる選択がランダムであることを保証し、シミュレートされた実験でこれまでに行われた選択を追跡します。

X 二乗分布統計量の標本分布を見つけるには、各実験の結果を取得し、その結果の X 二乗分布統計量を計算するだけです。ランダムサンプリングにはばらつきがあるため、この x 二乗分布統計量は実験ごとに異なります。

次のスクリプトは、各実験で取得された X 二乗分布統計を、後でグラフ化するために出力ファイルに書き込みます。

リスト 2. 取得した X 二乗分布統計を出力ファイルに書き込みます

// Simulate.php

// Copyright 2003, Paul Meagher
// LGPL の下で配布されます

// 時間を設定しますスクリプトがタイムアウトしないように 0 に制限します
set_time_limit(0);

require_once "../init.php";
require PHP_MATH . "chi/Multinomial.php";
require PHP_MATH . " ;

// 初期化パラメータ
$NExps = 10000;
$NTrials = 300;
$NOptions = 3;

$multi = new Multinomial($NExps, $NTrials, $NOptions);

$output = fopen ( "./data.txt","w") OR die("ファイルが開きません");
for ($i=0; $i<$NExps; $i++) {
// 各多項実験について, カイ二乗分析を行います
$chi = new ChiSquare1D($multi->Outcomes[$i]);

// 得られたカイ二乗値をサンプリング分布配列に読み込みます
$distribution[$i] = $chi-> ChiSqObt ;

// 取得したカイ二乗値をファイルに書き込む
fputs($output, $distribution[$i]."n");

?>



この実験の実行から予想される結果を視覚化するために、私にとって最も簡単な方法は、次に示すように、data.txt ファイルをオープン ソースの統計パッケージ R にロードし、ヒストグラム コマンドを実行して、グラフィック エディターでグラフを編集することでした。 :

x = scan("data.txt")
hist(x, 50)


ご覧のとおり、これらの X の二乗分布値のヒストグラムは、上で表した df = 2 の連続 X と一致しています。二乗分布の分布近似。

図 3. df=2 で連続分布を近似した値



以下のセクションでは、このシミュレーション実験で使用した X 二乗分布ソフトウェアの動作原理の説明に重点を置きます。通常、X 二乗分布ソフトウェアは、使用するシミュレートされたデータではなく、実際のカテゴリ データ (Web アンケート結果、週次トラフィック レポート、顧客のブランド嗜好レポートなど) を分析するために使用されます。要約テーブルや仮数の確率など、ソフトウェアによって生成される他の出力にも興味があるかもしれません。


X二乗分布のインスタンス変数

PHPベースで分類しました。ここでは、ChiSquare1D.php クラスがどのように機能するかを説明し、それを 1 次元の Web ポーリング データにどのように適用できるかを示すことに限定して説明します。

続行する前に、次のことを述べておく必要があります。データを 2 つの次元に沿って分類すると (ビールの好みを性別で分類するなど)、分割表のセル内の体系的な関係または条件付き確率を探すことで、結果の説明を始めることができます。以下の説明の多くは、ChiSquare2D.php ソフトウェアがどのように動作するかを理解するのに役立ちますが、この記事では説明していない実験、分析、および視覚化に関する問題が他にもあり、このクラスを使用する前に対処する必要があります。

リスト 3 は、以下で構成される ChiSquare1D.php クラスのスニペットを示しています。

1. 含まれるファイル
2. クラスのインスタンス変数

リスト 3. 含まれるファイルとインスタンス変数を含む X Square Distribution クラスのフラグメント


// ChiSquare1D.php

// Copyright 2003, Paul Meagher
// LGPL の下で配布

require_once PHP_MATH "dist/Distribution.php";

class ChiSquare1D {

変数$ Total;
var $ObsFreq = array(); // 観測された頻度
var $ExpFreq = array(); // 期待される頻度
var $ExpProb = array(); // 期待される確率
var $NumCells ;
var $ChiSqObt ;
var $DF;
var $Alpha;
var $ChiSqCrit; init.php ファイルが呼び出しスクリプトに含まれていることを前提として、含まれるパスには init.php ファイルに設定された PHP_MATH 定数が組み込まれます。

付属のファイル Distribution.php には、一般的に使用されるいくつかの標本分布 (T 分布、F 分布、および X 二乗分布) の標本分布統計を生成するためのメソッドが含まれています。 ChiSquare1D.php クラスは、結果の X 二乗分布値の仮数確率を計算するために、Distribution.php の X 二乗分布メソッドにアクセスする必要があります。

このクラスのインスタンス変数のリストは、分析プロセスによって生成された結果オブジェクトを定義するものであるため、注目に値します。この結果オブジェクトには、3 つの重要な X 二乗分布統計 (ChiSqObt、ChiSqProb、および ChiSqCrit) を含む、テストに関する重要な詳細がすべて含まれています。各インスタンス変数の計算方法の詳細は、これらすべての値が導出されるクラスのコンストラクター メソッドで確認できます。


コンストラクター: X 二乗分布テストのバックボーン

リスト 4 は、X 二乗分布テストのバックボーンを形成する X 二乗分布のコンストラクター コードを示しています。リスト 4. ObsFreq; のコンストラクター
$this->ExpProb = $ExpProb;
$this->Alpha = $Alpha;
$this->NumCells = count($this->ObsFreq); $this->DF = $this->NumCells - 1;
$this->Total = $this->getTotal();
$this->gt;ExpFreq = $this->getExpFreq();
$this->ChiSqObt = $this->getChiSqObt();
$this->ChiSqCrit = $this->getChiSqCrit();
$this->gt;ChiSqProb = $this->getChiSqProb() ;
return true
}

}

?>


コンストラクター メソッドで注目すべき 4 つの側面は次のとおりです:

1. コンストラクターは、観測された周波数の配列、およびオプションの配列を受け入れます。予想される確率。
2. 最初の 6 行には、呼び出し元のスクリプトで完全な結果オブジェクトを使用できるように、比較的単純な割り当てと計算された値が含まれています。
3. 最後の 4 行は、最も関心のある X 二乗分布統計を取得する作業の大部分を実行します。
4. このクラスは X 二乗分布テスト ロジックのみを実装します。このクラスに関連付けられた出力メソッドはありません。
この記事のコード ダウンロードに含まれているクラス メソッドを調べて、各結果オブジェクトの値がどのように計算されるかについて詳しく学ぶことができます (「参考文献」を参照)。


出力の問題の処理
リスト 5 のコードは、ChiSquare1D.php クラスを使用して X 二乗分布分析を実行することがいかに簡単であるかを示しています。また、出力の問題の処理についても説明します。

このスクリプトは、ChiSquare1D_HTML.php というラッパー スクリプトを呼び出します。このラッパー スクリプトの目的は、X 二乗分布手順のロジックをプレゼンテーションの側面から分離することです。 _HTML 接尾辞は、出力が標準の Web ブラウザまたは HTML を表示するその他のデバイスを対象としたものであることを示します。

ラッパー スクリプトのもう 1 つの目的は、データを理解しやすい方法で出力を整理することです。この目的のために、このクラスには、X 二乗分布分析の結果を表示するための 2 つのメソッドが含まれています。 showTablesummary メソッドは、コードビハインドに示されている最初の出力テーブル (表 2) を表示し、showChiSquareStats は 2 番目の出力テーブル (表 3) を表示します。

リスト 5. ラッパー スクリプトを使用したデータの整理

// beer_poll_analysis.php

require_once "../init.php";

require_once PHP_MATH "chi/ChiSquare1D_HTML.php";

$ Headings = array("キース", "オーランド", "スクーナー", "その他");

$ObsFreq = array(285, 250, 215, 250);
$Alpha = 0.05;
$Chi = 新しい ChiSquare1D_HTML ( $ObsFreq, $Alpha);

$Chi->showTablesummary($Headings);
echo "

";
$Chi->showChiSquareStats();

?>


该脚本生成了下列出力:

表2. 実行包装機脚本により得られる期待周波数和方差
Keiths Olands Schooner其它合计
观看值285 250 215 250 1000
期待值250 250 25 0 250 1000
方差4.90 0.00 4.90 0.00 9.80

表 3. ラッパー スクリプトを実行して取得されたさまざまな X 二乗分布統計 統計
DF 取得値 確率臨界値
分散測定 (O - E)2/E。分散値の合計は、X 二乗分布で得られた値 (9.80) と等しくなります。これは、要約テーブルの右下のセルに表示されます。

表 3 は、さまざまな X 二乗分布統計を示しています。これには、解析で使用された自由度が含まれており、得られた X 二乗分布値が再度レポートされます。取得された X 二乗分布値は、仮数確率値 (この場合は 0.02) として再表現されます。これは、帰無仮説の下で、X 二乗分布限界 9.80 が観察される確率は 2% であることを意味します (これはかなり低い確率です)。

ほとんどの統計学者は、帰無仮説を除外することを決定した場合、帰無分布からランダムサンプリングの変動を伴う結果が得られるということに異論を唱えません。世論調査の結果は、ノバスコシア州のビール消費者全体におけるビールブランドの好みの実際の違いを反映している可能性が高くなります。

この結論を確認するには、得られた X 二乗分布値を臨界値と比較します。

クリティカル値が重要なのはなぜですか?臨界値は、分析用に設定された特定の有意水準 (つまり、アルファ切断レベル) に基づきます。アルファ ブレーク値は通常 0.05 に設定されます (これは上記の分析で使用された値です)。この設定は、アルファ ブレーク値 (0.05) に等しい仮数領域を含む X 二乗分布のサンプリング分布内の位置 (または臨界値) を見つけるために使用されます。

この記事では、得られたX二乗分布値が臨界値を超えています。これは、帰無仮説の仕様を保持するしきい値を超えたことを意味します。被験者の母集団には比例的な差があるという対立仮説の方が、統計的にはより正確である可能性があります。

データ ストリームの自動分析では、アルファ ディスコネクト設定により、知識発見アルゴリズム (カイ二乗自動インタラクション検出 (CHIAD) など) の出力フィルターを設定できます。これ自体が発見に非常に役立ちます。このモデルは、人々に詳細なガイダンスを提供することはできません。 。


アンケートを再実行する
一元配置 X 二乗検定のもう 1 つの興味深い応用例は、アンケートを再実行して人々の反応が変化したかどうかを確認することです。

しばらくして、ノバスコシア州のビール愛好家を対象に別の Web アンケートを実施する予定だとします。あなたは彼らに好きなビールのブランドについて再度質問し、次の結果を観察します:

表 4. 新しいビールに関するアンケート
Keiths Olands Schooner Other
385 (27.50%) 350 (25.00%) 315 (22.50%) 350 (25.00% )


古いデータは次のようになります:

表 1. 古いビール世論調査 (再表示)
キース オーランズ スクーナー その他
285 (28.50%) 250 (25.00%) 215 (21.50%) 250 (25.00 %)


世論調査の結果の明らかな違いは、最初の世論調査の回答者数は 1,000 人だったのに対し、2 番目の世論調査の回答者数は 1,400 人であったことです。これらの追加回答者の主な効果は、回答状況ごとに頻度カウントが 100 ポイント増加することです。

新しいアンケートを分析する準備ができたら、予想される頻度を計算するデフォルトの方法を使用してデータを分析することも、各結果の予想される確率 (前回のアンケートで観察された割合に基づく) を使用して分析を初期化することもできます。 2 番目のケースでは、以前に取得した割合を期待確率配列 ($ExpProb) に読み込み、それらを使用して各回答オプションの期待頻度値を計算します。

リスト 6 は、設定の変更を検出するためのビール投票分析コードを示しています。


リスト 6. 設定の変更の検出


// beer_repoll_analysis.php

require_once "../init. php" ;

PHP_MATH が必要です。 "chi/ChiSquare1D_HTML.php";

$Headings = array("キース", "オーランド", "スクーナー", "その他");

$ObsFreq = array(385, 350 , 315) , 350);
$Alpha = 0.05;
$ExpProb = array(.285, .250, .215, .250);

$Chi = new ChiSquare1D_HTML($ObsFreq, $Alpha, $ExpProb);

$ Chi->showTablesummary($Headings);
echo "

";
$Chi->showChiSquareStats();

?>





表 5 と 6 に示すのは次のとおりです。 beer_repoll_analysis.php スクリプトによって生成された HTML 出力:

表 5. beer_repoll_analysis.php の実行から得られる予想頻度と分散
Keiths Olands Schooner その他の合計
実測値 385 350 315 350 1400
期待値 399 301 350 1400
分散 0.49 0.00 0.65 0.00 1.14


表 6. beer_repoll_analysis.php を実行して得られるさまざまな X 二乗分布統計情報 統計
DF 取得値確率臨界値
条件、X 二乗分布値が得られる確率1.14 は 77% です。ノバスコシア州のビール消費者の好みが前回の調査以来変化したという帰無仮説を除外することはできません。観察された頻度と予想された頻度の間の差異は、ノバスコシア州の同じビール消費者の間で予想されるサンプリングのばらつきによって説明できます。元の投票結果の変換が以前の各投票結果に定数 100 を追加するだけで行われたことを考慮すると、このヌル結果はそれほど驚くべきことではありません。

しかし、結果が変化したことは想像できますし、これらの結果が別のブランドのビールの人気が高まっていることを示唆しているのではないかと想像することもできます (表 5 の各列の下部に報告されている分散の大きさに注目してください)。さらに、バーのオーナーはバーで一番売れているビールを調達する傾向があるため、この発見が問題のビール醸造所に重大な財務的影響を与えることも想像できます。

これらの結果はワイナリーの所有者によって非常に詳細にチェックされ、分析手順と実験方法の適合性、特にサンプルの代表性が疑問視されます。実用上重要な影響を与える可能性のある Web 実験の実施を計画している場合は、データの収集に使用される実験方法と、データから推論を引き出すために使用される分析手法に同様の注意を払う必要があります。

したがって、この記事は、Web データの効果的な理解を強化するための優れた基盤を提供するだけでなく、統計テストの選択を保護し、より効率的にデータから得られる結論をより合理的にする方法についてのいくつかの提案も提供します。 。


学んだことを応用する

この記事では、Web ポーリング データの分析に焦点を当て、Web データ ストリームを集約するためにユビキタス周波数データに推論統計を適用する方法を学習しました。ただし、ここで説明した単純な一方向 X 二乗分布分析プロセスは、生のデータを有用な知識に変換するために、他のタイプのデータ ストリーム (アクセス ログ、調査結果、顧客プロファイル、顧客の注文) にも効果的に適用できます。

推論統計を Web データに適用する場合、推論を行う際に実験設計の考慮事項を引用する可能性を高めるために、データ フローを Web 実験の結果として扱いたいという要望も紹介しました。データ収集のプロセスを十分に制御できないため、推論を導き出すことができないことがよくあります。ただし、実験の設計原則を Web データ収集プロセスに積極的に適用する場合 (たとえば、Web 投票中に投票者をランダムに選択するなど)、この状況を変えることができます。

最後に、単に起源を述べるのではなく、さまざまな自由度で X 二乗分布の標本分布をモデル化する方法を示しました。そうすることで、測定されたクラスの予想頻度は 5 未満になります (つまり、小さな N 実験) - 回避策も示します (実験のサンプリング分布をシミュレートするために小さな $NTrials 値を使用します)。 X二乗分布テストを使用します。したがって、サンプルの結果の確率を計算するために調査の df を使用するだけでなく、試行回数が少ない場合は、観察された X 二乗分布の結果の確率を見つけるためのパラメーターとして $NTrials 値も使用する必要があるかもしれません。 。

小さい N の実験をどのように分析するかを考える価値はあります。なぜなら、各観測にコストがかかる場合や、観測の取得に時間がかかる場合、または単にデータの取得が完了する前にデータを分析したい場合が多いからです。興味津々です。このレベルの Web データ分析を試みるときは、次の 2 つの質問に留意することをお勧めします:


*N 個の小さな条件下で推論を行うことは正当化されますか?
*このような状況でどのような推論を導き出すかを決定するのにシミュレーションは役立ちますか?



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート