私はSQLを使い慣れていないので、誰かが私に希望の光を当てるのを待っています。単純な線形回帰を用いてストアドプロシージャを定位置に置いた。今度は、割引係数lamda、すなわち1、lamda、lamda^2、...、lamda^nを使用していくつかの重み付けを適用したいが、nは元の系列の長さである。SQLの加重回帰
割引重量シリーズを生成し、以下の現在のコード構造に適用するにはどうすればよいですか? ...
SUM((OASSpline-OASPriorSpline) * (AdjOASDolDur-AdjOASPriorDolDur))/SUM(SQUARE((AdjOASDolDur-AdjOASPriorDolDur))) as Beta, /* Beta = Sxy/Sxx */
SUM(SQUARE((AdjOASDolDur-AdjOASPriorDolDur))) as Sxx,
SUM((OASSpline-OASPriorSpline) * (AdjOASDolDur-AdjOASPriorDolDur)) as Sxy
...
例えば、重み付き線形回帰が0.81243398のベータを返すべき
OASSpline = [1.11,1.45,1.79, 2.14, 2.48, 2.81,3.13,3.42,3.70,5.49]
AdjOASDolDur = [0.75,1.06,1.39, 1.73, 2.10, 2.48,2.85,3.20,3.52,3.61]
OASPriorSpline = 5.49
AdjOASPriorDolDur = 5.61
Weight = [1,0.99,0.9801,0.970299,0.96059601,0.9509900, 0.941480149,0.932065348,0.922744694,0.913517247]
:私は割引率(ラムダ)= 0.99を設定した場合
は、私の重みアレイは、自動的に生成された私の系列から10の長さを使用して形成されなければなりません現在の単純な線形回帰は0.81164174のベータ値を返します。
ありがとうございます!
**あなたの質問といくつかのサンプルデータとそのデータに基づいて予想される出力を追加してください。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557#285557)。コメントにコードやその他の情報を投稿しないでください –
あなたの注意、a_horseに感謝します。私たちはMicrosoft SQLを使用しています。それはあなたのDBMSの質問に答えますか? –
@a_horse_with_no_nameと合意すると、期待される出力とサンプルデータが役立ちます。多くの人がSQLを知っていますが、私は "割引係数"、 "ラムダ"、 "加重線形回帰"または "ベータ"が何であるか分かりません。 :) – bbrumm