WorksheetFunction.LinEst メソッド (Excel)

最小二乗法を使用して行の統計を計算し、データに最適な直線を計算し、線を記述する配列を返します。 この関数は値の配列を返すため、配列数式として入力する必要があります。

構文

LinEst (Arg1Arg2Arg3Arg4)

: 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}

  • 統計が 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 では、データに最適な 2 乗を決定するために、最小二乗法を使用します。 独立変数 x の値が 1 つしかわからない場合は、次の数式を使って m と b の値が計算されます。

m と b の計算を示す数式

m と b の計算を示す数式。x と y はサンプル平均 であり、x と y はサンプル平均です。つまり、x = AVERAGE(既知の x) と y = AVERAGE(known_y) です。

線と曲線のフィッティング関数 LinEstLogEst は、データに適合する最適な直線または指数曲線を計算できます。 ただし、データを直線で近似するか指数曲線で近似するかは、データに合わせて選択する必要があります。 直線GROWTH(known_y's, known_x's)または指数曲線を計算TREND(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 個の係数と 0 se の係数を持つものとして認識できます。

  • 1 つ以上の列が冗長として削除された場合、df は予測目的で実際に使用される X 列の数に依存するため、df は影響を受けます。 冗長 X 列が削除されるために df が変更された場合、sey と F の値も影響を受けます。
  • 共線性は、実際には比較的まれである必要があります。 ただし、発生する可能性が高いケースの 1 つは、一部の X 列に、実験の対象が特定のグループのメンバーであるかどうかの指標として 0 と 1 のみが含まれている場合です。 const = TRUE または省略した場合、 LinEst は 実質的にインターセプトをモデル化するために、すべての 1 の追加の X 列を挿入します。 男性の場合は各サブジェクトに 1、そうでない場合は 0 の列があり、女性の場合は各サブジェクトに 1、そうでない場合は 0 の列がある場合、この後者の列は冗長になります。この列のエントリは、LinEst によって追加されたすべての 1 の追加列のエントリから男性インジケーター列のエントリを減算することによって取得できるためです。
  • df は、共線性のためにモデルから X 列が削除されない場合に、次のように計算されます。known_x と const = TRUE の k 列がある場合、 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 関数とインターセプト関数で使用される基になるアルゴリズムとは異なります。 アルゴリズムの違いにより、データに不確定さや共線性が存在した場合に、異なる結果が得られる場合があります。 たとえば、既知の y 引数のデータ要素が 0 で、既知の x 引数のデータ要素が 1 であったとします。

  • LinEst は 値 0 を返します。 LinEst アルゴリズムは、同一線上のデータに対して妥当な結果を返すように設計されており、この場合は少なくとも 1 つの回答が見つかります。
  • スロープインターセプト は、#DIV/0 を返します。 エラーを返します。 SlopeIntercept アルゴリズムは、1 つの回答と 1 つの回答のみを検索するように設計されており、この場合は複数の回答が存在する可能性があります。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。