ForHosting KIT · 開発者向けツール

多項式回帰計算

この多項式回帰計算機は、決定論的な最小二乗法を用いて、対応する数値観測値に指定した次数の曲線を当てはめます。x 配列、対応する y 配列、希望する多項式の次数をご入力ください。結果では定数項から始まる次数の昇順で係数が返されるため、解析コードへ直接コピーしたり、ホーナー法で評価したりできます。計算には、正規方程式を直接解く方法より数値的に安定しやすい Householder QR 分解を使用しています。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

対応する観測値を準備し、次数を選択します

独立変数を x に、対応する観測値を y にご入力ください。位置関係が重要です。最初の y は最初の x に、2 番目の y は 2 番目の x に対応し、以降も同様です。そのため、両方の配列は同じ長さでなければならず、各要素には有限の数値が必要です。次に、0 以上の整数の次数を選択します。0 次は定数、1 次は直線、2 次は二次曲線を当てはめ、次数が上がるたびに x のべきが一つ追加されます。決定すべき係数の数だけ情報が必要なため、点の数は少なくとも次数に 1 を加えた数が必要です。通常は、さらに多くの点を使用することをおすすめします。完全補間ではなく実質的な最小二乗近似となり、測定ノイズの影響を抑えられる場合があるためです。入力した観測値により密接に沿うという理由だけで高い次数を選ばないでください。柔軟すぎる多項式は点の間で振動し、標本範囲外で不適切な予測を行うことがあります。データの形状とモデルの目的に合う最も単純な次数からお試しください。

返された係数を読み取り、利用します

係数は x の次数の昇順で返されます。結果が <code>[c0, c1, c2]</code> の場合、当てはめた式は <code>y = c0 + c1*x + c2*x^2</code> です。この規則により定数項を容易に識別でき、配列内の各位置がそれぞれの指数に対応します。応答には、受け付けた次数と対応点の数、係数の順序、最小二乗法の名称も含まれます。係数は垂直残差の二乗和を最小化します。入力された各 x に対して多項式が予測値を生成し、その予測値を観測 y から差し引き、差の二乗を合計します。最小二乗法はすべての観測値を均衡させますが、特定の点を曲線が必ず通るとは限りません。浮動小数点演算によって小さな小数誤差が現れることがあるため、返却前に安定した精度へ正規化しています。出力をご利用になる際は、記載された順序を保持し、一貫した方法で多項式を評価してください。リストを逆にすると、まったく別の曲線になります。

数値上の制限と当てはめエラーを理解します

この計算機は、正規方程式を明示的に作らずに最小二乗問題を解く標準的な Householder QR 分解を使用します。多項式の各列の尺度が異なる場合に一般的に良好な挙動を示しますが、多項式近似は数値的に難しくなることがあります。非常に大きな x、尺度の大きなばらつき、設定上限に近い次数は、丸め誤差を増幅する可能性があります。精密な科学計算では、当てはめ前に x の中心化と尺度調整を行い、その変換をモデルとともに保存することをご検討ください。点の数が次数に 1 を加えた数より少ない場合、要求は拒否されます。また、x に各係数を決定できるだけの異なる情報がない状態で正の次数を指定するなど、階数が不足するデータも拒否されます。無限大、NaN、恣意的な解を返すより、エラーとして明示する方が安全です。正常な当てはめは入力観測値内の関連を表すものであり、因果関係や外挿の妥当性、多項式が正しい生成過程であることを証明しません。重要な予測に使用する前に、残差と専門知識をご確認ください。

校正曲線を当てはめる

既知の基準入力と測定された機器応答の間にある二次または三次の関係を推定できます。

曲線的な傾向をモデル化する

対応する観測値の滑らかな非線形パターンを、コードで再利用できる係数としてまとめられます。

学習用の計算を確認する

手計算した多項式最小二乗係数を、決定論的な QR 法の結果と比較できます。

料金はいくらですか?

API の料金は 1 リクエストあたり $0.002 です。ブラウザー計算機では同じ決定論的コアをローカルで実行できます。

係数はどの順序で返されますか?

次数の昇順です。最初が定数項、2 番目が x の係数、3 番目が x の二乗の係数となり、以降も同様です。

点はいくつ必要ですか?

少なくとも次数に 1 を加えた数の対応点が必要です。観測値を追加すると、通常はノイズを含むデータへの当てはめが改善します。

十分な点があっても特異になるのはなぜですか?

すべての x が同じ場合など、要求した各べきを決定するための異なる情報が x に不足している可能性があります。

曲線はすべての点を通りますか?

必ずしも通りません。最小二乗法は垂直残差の二乗和を最小化し、すべての点を通るのはデータが適合する場合だけです。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/stat/polynomial-regression

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/stat/polynomial-regression \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"x":[-2,-1,0,1,2],"y":[9,2,1,6,17],"degree":2}'
{
  "x": [
    -2,
    -1,
    0,
    1,
    2
  ],
  "y": [
    9,
    2,
    1,
    6,
    17
  ],
  "degree": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.polynomial_regression",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →