最小二乗法を使用してデータに最適な直線を計算し、直線を表す配列を返すことで、直線の統計量を計算します。 この関数は値の配列を返すため、配列数式として入力する必要があります。
構文
式。LinEst (arg1, arg2, arg3, arg4)
式: WorksheetFunction オブジェクトを表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| Arg1 | 必須 | バリアント型 | Known_y - y = mx + b の関係で既にわかっている y 値のセット。 |
| Arg2 | 省略可能 | バリアント型 (Variant) | 既知の x: 既にわかっている x の値の系列で、y = mx + b という関係になります。 |
| Arg3 | 省略可能 | バリアント型 (Variant) | 定数: 定数 b を 0 にするかどうかを論理値で指定します。 |
| Arg4 | 省略可能 | バリアント型 (Variant) | 補正: 回帰指数曲線の補正項を追加情報として返すかどうかを、論理値で指定します。 |
戻り値
Variant
注釈
線の方程式は y = mx + b または y = m1x1 + m2x2 + ... + b (複数の x 値の範囲がある場合) です。ここで、依存 y 値は独立した x 値の関数です。 また、m はそれぞれの x に対応する係数で、b は y 切片と呼ばれる定数です。 y、x、m がベクトル (1 次元配列) であることに注意してください。
LinEst が返す配列は {mn,mn-1,...,m1,b} です。
LinEst は追加の回帰統計を返すこともできます。
配列known_yが 1 つの列内にある場合、配列known_xの各列は個別の変数として解釈されます。
配列known_yが 1 つの行にある場合、配列known_xの各行は個別の変数として解釈されます。
既知の x の配列には、1 つまたは複数の変数の系列を指定することができます。 変数の系列が 1 つである場合、既知の y と既知の x は、両者の次元が同じであれば、どのような形の範囲であってもかまいません。 変数の系列が複数である場合、既知の y は 1 行または 1 列のセル範囲でなければなりません。
known_x を省略すると、known_y と同じサイズの配列 {1,2,3,...} であると見なされます。
const が True であるか省略された場合、b は正常に計算されます。
const が False の場合、b は 0 に設定され、m 値は
y = mxに合わせて調整されます。stats が True の場合、 LinEst は追加の回帰統計を返すため、返される配列は
{mn,mn-1,...,m1,b;sen,sen-1,...,se1,seb;r2,sey;F,df;ssreg,ssresid}です。stats が False であるか省略された場合、 LinEst は m 係数と定数 b のみを返します。
次のような回帰直線の補正項が追加情報として返されます。
| 回帰統計 | 説明 |
|---|---|
| se1,se2,...,sen | 係数 m1,m2,...,mn に対する標準誤差の値です。 |
| seb | 定数 b の標準エラー値 (const が False の場合、seb = #N/A)。 |
| R2 | 確実度の係数です。 予測される y の値と実際の y の値を比較して、0 から 1 の範囲の数値を計算します。 1 の場合、標本には完全な相関関係があり、推定された y 値と実際の y 値の間に差はありません。 逆にこの係数の値が 0 である場合、回帰直線の演算式は y の値の予測にはほとんど役立ちません。 |
| sey | 予測される y の値に対する標準誤差です。 |
| F | F 補正項または F 観測値です。 F 補正項を利用すると、独立変数と従属変数の間で観察された関係が偶然によるものかどうかを判断できます。 |
| df | 自由度です。 自由度を利用すると、統計表の中で F の臨界値を見つけるのに役立ちます。 テーブルで見つかった値を LinEst から返された F 統計と比較して、モデルの信頼度を決定します。 |
| ssreg | 回帰の平方和です。 |
| ssresid | 残余の平方和です。 |
次の図では、回帰直線の追加補正項が返される順序を示します。
傾きとy切片で任意の直線を記述できます: Slope (m)。 直線の傾き (m) は、直線上の 2 点の座標が (x1,y1)、(x2,y2) で表されるとき、(y2 - y1)/(x2 - x1) で計算できます。 Y 切片 (b): 線の y 切片は、多くの場合 b と記述され、線が y 軸と交差する点での y の値です。 直線の演算式は、y = mx + b で表されます。 m と b の値がわかったら、y または x 値をその方程式に代入することで、線上の任意の点を計算できます。 この計算に、TREND 関数を使用することもできます。
独立した x 変数が 1 つしかない場合、次の数式を使用して、傾きと y 切片の値を直接取得できます。
- 勾配:
=INDEX(LINEST(known_y's,known_x's),1) - Y 切片:
=INDEX(LINEST(known_y's,known_x's),2)
LinEst によって計算される線の精度は、データ内の散乱の程度によって異なります。 データが線形であるほど、 LinEst モデルの精度が高くなります。 LinEst では、最小二乗法を使用して、データに最適な値が決定されます。 独立変数 x の値が 1 つしかわからない場合は、次の数式を使って m と b の値が計算されます。
で、x と y は標本平均です。つまり、x = AVERAGE(既知の x)、y = AVERAGE(known_y) です。
直線フィッティング関数と曲線フィッティング関数 LinEst と LogEst は、データに最適な直線または指数曲線を計算できます。 ただし、データを直線で近似するか指数曲線で近似するかは、データに合わせて選択する必要があります。 直線の場合は TREND(known_y's,known_x's) 、指数曲線の場合は GROWTH(known_y's, known_x's) を計算できます。 これらの関数は、引数として新しい x を指定しなくても、直線または指数曲線上で実際のデータ要素に対応する、y の予測値の配列を返します。 これにより、予測値と実際の値を比較することができます。 両者の値をひとめで比較できるように、グラフを作成することもできます。
回帰分析では、Microsoft Excel は各ポイントについて、そのポイントで推定された Y 値と実際の Y 値の差の 2 乗を計算します。 このようにして計算した平方差の合計を "残余の平方和"(ssresid) と呼びます。 次に、Excel は平方和の合計 sstotal を計算します。 定数に TRUE を指定するか省略すると、総平方和は、実際の y の値と y の平均値の平方差の合計となります。 定数に FALSE を指定すると、総平方和は、(個々の y の値から y の平均値を引いたものではなく) 実際の y の値の平方和となります。 次に、回帰平方和 ssreg は、 ssreg = sstotal - ssresid から見つけることができます。 残差平方和が全平方和と比較して小さいほど、決定係数 r2 の値が大きくなり、これは回帰分析から得られた方程式が変数間の関係をどの程度うまく説明しているかを示す指標です。R2 は SSREG/SSTOTAL と等しくなります。
場合によっては、1 つ以上の X 列 (Y と X が列内にあると仮定) に他の X 列がある場合に、追加の予測値がないことがあります。 言い換えると、1 つ以上の X 列を削除すると、予測される Y 値が等しく正確になる可能性があります。 その場合、これらの冗長な X 列は回帰モデルから省略する必要があります。 この現象は、任意の冗長な X 列を非冗長 X 列の倍数の合計として表すことができるため、共 線性と 呼ばれます。 LinEst は共線性をチェックし、冗長な X 列を識別したら回帰モデルから削除します。 削除された X 列は、 LinEst 出力で係数が 0 と se が 0 であると認識できます。
- 1 つ以上の列が冗長なものとして削除された場合、df は予測目的で実際に使用される X 列の数に依存するため、df に影響します。 冗長な X 列が削除されたために df が変更された場合は、sey と F の値にも影響します。
- 共線性は、実際には比較的まれであるはずです。 ただし、発生する可能性が高いケースの 1 つは、一部の X 列に、実験の被験者が特定のグループのメンバーであるかどうかの指標として 0 と 1 のみが含まれている場合です。 const = TRUE または省略した場合、 LinEst は切片をモデル化するために、すべての 1 の追加の X 列を効果的に挿入します。 男性の場合は被験者ごとに 1、そうでない場合は 0 の列があり、女性の場合は被験者ごとに 1、そうでない場合は 0 の列もある場合、LinEst によって追加されたすべての 1 の追加の列のエントリから男性インジケーター列のエントリを減算することで取得できるため、後者の列は冗長です。
- 共線性のためにモデルから X 列が削除されない場合、df は次のように計算されます。known_x の列が k 個あり、const = TRUE または省略されている場合、
df = n - k - 1。 const = FALSE の場合、df = n - k。 どちらの場合も、共線性により削除される各 X 列は df を 1 ずつ増加させます。
計算結果が配列となる数式は、配列数式として入力する必要があります。
- When entering an array constant such as known_x's as an argument, use commas to separate values in the same row and semicolons to separate rows. 区切り文字は、コントロール パネルの[地域] および [言語] のロケール設定により異なる場合があります。
- 回帰演算式によって予測計算された y の値は、演算式を決定するときに使用した y の値の範囲外では、有効な値にならない場合があります。
LinEst 関数で使用される基になるアルゴリズムは、Slope 関数および Intercept 関数で使用されている基になるアルゴリズムとは異なります。 アルゴリズムの違いにより、データに不確定さや共線性が存在した場合に、異なる結果が得られる場合があります。 たとえば、既知の y 引数のデータ要素が 0 で、既知の x 引数のデータ要素が 1 であったとします。
- LinEst は 0 の値を返します。 LinEst アルゴリズムは、同一線上データに対して妥当な結果を返すように設計されており、この場合、少なくとも 1 つの答えを見つけることができます。
- Slope と Intercept は #DIV/0 を返します。 エラーを返します。 Slope and Intercept アルゴリズムは、1 つの答えだけを探すように設計されており、この場合、複数の答えが存在する可能性があります。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
で、x と y は標本平均です。つまり、x = AVERAGE(既知の x)、y = AVERAGE(known_y) です。