移動ウィンドウ(たとえば、一度に10ペアのデータ)の2つの変数(つまり列)間のR2を計算するにはどうすればよいですか?
シナ
この議論を参照してください列式で線形回帰を実行する 。このアプローチは、R 2乗または他の結果を得るために拡張できます。
ありがとうしゅう 。 JSLでR2を計算する関数は何ですか?(申し訳ありませんが、私はJSLスクリプトの初心者であり、オンラインで見つけることができませんでした)。
わかります。
サンプルデータフォルダーのBig Classデータテーブルに基づく例を次に示します。スパン5の移動線形回帰に適合します。各行のR二乗値を返します。このスクリプトを実行して、その動作を確認できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// example creates a new column with a moving R square with a span of 5
// for regression of :weight versus :height
dt << New Column( "Moving R Square",
Numeric,
Continuous,
Formula(
If( Row() > 2 & Row() < (N Row()-1),
x = J( 5, 1, 1 ) || :height[Index( Row() - 2, Row() + 2 )]`;
y = :weight[Index( Row() - 2, Row() + 2 )]`;
sst = Sum( (y - Mean( y )) ^ 2 );
b = (Inv( x` * x ) * x` * y);
yhat = x * b;
sse = Sum( (y - yhat) ^ 2 );
(sst-sse) / sst;
,
Empty()
)
)
);
フォーミュラ引数の後のカッコ内のこのスクリプトの一部を選択し、その式をデータテーブルの新しい列フォーミュラに入れてから、XおよびYデータ列に一致するようにカラム名を変更できます。
ありがとうございましたしゅうそしてしゅう 。これはとても役に立ちました!!