線形回帰のユーザフレンドリガイド
回帰とは
回帰は、1 つまたは複数の入力変数を 1 つの出力変数に関連付ける数式を見積もります。
たとえば、レモネードスタンドを運営し、収益を促進するものに関心があるとします。あなたのデータには、各日の「収入」「高温度」「歩いた子供の数」「歩いた大人数」「その日使った「看板」、近くの「競合他社の収益」が含まれています。
収益 | 温度 (摂氏) | 休憩時間 (分) | 立ち寄った子供の数 | 立ち寄った大人の数 | シグネージ | 競合他社の収益 |
---|---|---|---|---|---|---|
44 ドル | 28.2 | 30 | 43 | 380 | 手塗り | $20 |
$23 | 21.4 | 42 | 28 | 207 | LED | 30 ドル |
$43 | 32.9 | 14 | 43 | 364 | 手塗り | 34 ドル |
30 ドル | 24.0 | 24 | 18 | 103 | LED | 15 ドル |
その他 | その他 | その他 | その他 | その他 | その他 | その他 |
“温度” (入力変数または説明変数) は “収益” (出力変数または応答変数) に影響する可能性があります。回帰を使用してこの関係を分析すると、次の式が生成される場合があります。
Revenue = 2.71 * Temperature – 35 この
式は、2 つの理由で有用です。
まず、関係を理解でき、暑い日がより多くの「収益」につながる。特に、「温度」(係数と呼ばれる)の前の2.71は、「温度」が上がるごとに、平均して「収入」が2.71ドル増えるということである。この洞察により、寒い日にはレモネードを販売しないことを決定する可能性があります。
次に、相対的に、特定の予測を行う際にも役立ちます。「温度」が 24 の場合は、収益が
2.71 * 温度 – 35
収益 = 2.71 * 24 – 35
収益 = 30
であるため、「売上高」は 30 ドル前後と推定できます。これは、モデルが正確であると確信していると仮定して、その日に支払を行うことができるかどうかを把握するために役立つ情報である場合があります。
次に、この回帰方程式を作成するプロセスについて説明します。
回帰モデルの作成の準備
1.回帰の理論を考えてみてください
回答変数の「売上げ」を選択したら、さまざまな入力がどのように関連しているかを仮説を立てます。たとえば、「温度」が高いほど「収益」が高くなると考えられるかもしれません。さまざまなサイネージが「売上高」にどのように影響するかがわからない場合があります。また、「競合他社の売上」は「温度」の影響を受けるものの、レモネードスタンドへの影響はないと考えられるかもしれません。
回帰の目標は、通常、複数の入力と1つの出力の関係を理解することであるため、この場合は「温度」と「シグネージ」(実際の予測よりも説明に関心がある場合でも、「温度とシグネージからの収益の予測」とも言われる)で「収益」を説明するモデルを作ることにします。
おそらく、回帰には「競合他社の売上」が含まれないでしょう。「収益」と相関している可能性はありますが、因果関係チェーンではそれより前には来ないため、それを含めるとモデルが混乱する可能性があります。
2.モデルに有用な、すべての変数を「説明」する
まず、応答変数 (この場合は “Revenue”) を記述し、適切な印象を与えます。説明変数に対して同じ操作を行います。
…ほとんどのデータがヒストグラムの最初の数個のビンにある場合。これらの変数には、後で特別な注意が必要です。
3.考えられるすべての説明変数を応答変数に「関連付け」します
Stats iQは、統計的な関係の強みによって結果を並べ替えます。結果を見て、”収益” に関連する変数とその方法について確認します。
理論的にどの変数によって出力が促進されるのか (たとえば、前の学術論文から) をすでに把握している場合は、このステップをスキップする必要があります。しかし、分析が (得意先調査などの) 性質上、もう少し探索的である場合、これは有用で重要なステップです。
4. 回帰の構築を開始する
回帰モデルの構築は反復プロセスです。 以下の 3 つのステージを必要な回数繰り返します。
回帰モデルを構築する 3 つのステージ
ステージ 1:変数を加算または減算
以前の分析で “Revenue” に関連していることが示された変数を 1 つずつ追加します (または、理論的に追加する理由がある変数を追加します)。1 つずつ移行することは厳密には必要ではありませんが、進行しながら問題を特定して修正しやすくし、モデルの感触を得るのに役立ちます。
まず「温度」で「収益」を予測するとしましょう。強い関係を見つけて、モデルを評価し、満足できるものであると判断します (詳細については 1 分程度で詳しく説明します)。
収益 = 2.71 * 温度 – 35
その後、”歩いた子の数” を追加し、回帰モデルに 2 つの条件があり、どちらも統計的に有意な予測変数です。こういう:
Revenue = 2.5 * Temperature + 0.3 * NumberOfChildrenWhoWalkedBy – 12追加すると
、「歩いた大人数」が追加され、モデル結果は「大人数」がモデルで統計的に有意であることを示しているが、「子供数」はもうない。通常は、モデルから “子の数” を削除します。以上で、以下を実現しました。
収益 = 2.6 * 温度 + 0.4 * NumberOfAdultsWhoWalkedBy – 14
つまり、「大人数」は「収益」の予測力が高いということです。つまり、何人の成人が来ているかを知れば、何人の子どもが訪れても新しい情報が追加されないことを知れば、売上の予測には役立ちません。
子どもはレモネードを本当に買わないことを思い返して、覚えていらっしゃるかもしれません。そのため、その変数がモデルに属さないのは理にかなっています。
しかし、なぜ最初のモデルでは統計的に有意だったのでしょうか。おそらく「子供の数」は「大人数」と相関しており、「大人数」はまだモデルになかったため、「子供の数」は「大人数」の大まかな代理として振る舞っていたからです。
回帰の結果を解釈するには十分な判断が必要であり、変数が統計的に有意であるからといって、それが実際に原因であるというわけではありません。ただし、変数を注意深く加減し、モデルがどう変化するかを書き留め、モデルの背後にある理論を常に考えることで、データ内の興味深い関係を引き離すことができます。
ステージ 2:モデルの評価
変数を追加または減算するたびに、R二乗 (R2)、AICR、および残存プロットを参照してモデルの精度を評価する必要があります。モデルを変更するたびに、新しい R二乗、AICR、および残差プロットを古いプロットと比較して、モデルが改善されたかどうかを判断します。
R二乗 (R2)
モデルの予測精度を定量化する数値メトリクスは、0 と 1 の間にある R二乗と呼ばれます。ゼロは、モデルに予測値がないことを意味します。ゼロは、モデルがすべてを完全に予測することを意味します。
たとえば、左側のモデルは右側のモデルよりも正確です。つまり、”温度” を知っている場合、左側の “収益” についてはかなり推測されますが、実際には右側にはありません。
「良い」R二乗の定義は固定されていません。一部の設定では、どのような効果でも興味深い場合があります。一方、他の設定では、非常に正確でない限り、モデルが役に立たない場合もあります。
変数を追加すると、R二乗が上昇するため、可能な最大のR二乗を達成することは目標ではなく、モデルの精度(R二乗)と複雑性(一般的には変数の数)のバランスをとります。
AICR
AICR は、精度と複雑さのバランスを取る指標です。精度が高いとスコアが向上し、複雑さが増し(より多くの変数が)スコアが悪くなります。下位の AICR のモデルは良好です。
AICR メトリックは、同じデータ行数と同じ出力変数を持つモデルの AICR を比較する場合にのみ有用であることに注意してください。
予測間隔
モデルの精度を高めるもう 1 つの便利な方法は、式にサンプル値を貼り付けて、Stats iQによって計算される予測間隔を確認することです。たとえば、数字の30を数式に付けた場合、Stats iQは予測値が45.5であることを伝えますが、95%の信頼区間は36.4~54.5です。つまり、明日が30度になった場合、「売上高」が$36.40~54.50の範囲になるのは95%です。予測間隔が $44 から $48 のようなきついバンドであったり、間隔が広い $20 から $72 などのより精度の低いバンドであったりする、より正確なモデルを想像できます。
このアプローチは、残存プロットが健全である場合にのみ役立ちます (下記参照)。そうでないと、不正確になります。
残差
残差は、回帰を評価および改善するための主要な診断ツールであるため、モデルを改善するために、残差を解釈するためのセクションが別にあります。残差とは何か、モデルを評価および改善するために残差を使用する方法、およびモデルがどの程度正確である必要があるかを考える方法について学習またはリフレッシュします。
優れたモデルを作成するために必要なその他のすべてを対象とするため、これを完全に読むことをお奨めします。でも、もちろんいつでも戻ってくることができる。
ステージ 3:モデルを適宜修正します。
モデルの評価で満足できるものであることが判明した場合は、完了するか、ステージ 1 に戻って、より多くの変数を入力することができます。
評価でモデルが不足していることが判明した場合は、Stats iQのアラートと残存診断セクションを使用して問題を修正します。
モデルを変更する際には、変化する R二乗、AICR、および残差診断を常に書き留め、変更によってモデルが役に立つか傷つけられているかを判断します。