3次回帰計算機
この3次回帰計算機は、対応する数値観測に通常の最小二乗法で3次多項式を当てはめます。同じ長さのx配列とy配列を指定すると、定数項、1次項、2次項、3次項の4係数をこの順序で返します。計算は決定的でネットワークを使用せず、厳密な3次データにもノイズを含む測定値にも対応します。3次モデルを一意に決めるため、少なくとも4組の点と4種類の異なるx値が必要です。
無料で実行
3次の最小二乗回帰の仕組み
3次モデルは y = a0 + a1x + a2x² + a3x³ と表します。計算機は入力された各xについて、1、x、xの2乗、xの3乗という4つの基底値を作ります。最小二乗法は、観測されたyと多項式が予測する値との縦方向の差を2乗し、その合計が最小になる係数を選びます。適切な点がちょうど4個なら、3次曲線がすべての観測点を正確に通る場合があります。点が4個を超えると、同じ方法が残差を均衡させ、2乗誤差の基準で最良となる一意の当てはめを求めます。内部では、小さな連立一次方程式を解く前にxを中心化して尺度調整します。この処理により、xの絶対値が大きい場合や、値がゼロから離れた場所に集中する場合の数値的な影響を抑えます。その後、係数を元のx尺度へ戻すため、返された値を入力データへそのまま適用できます。これは重みなしの通常回帰であり、各組を等しく扱います。乱数による初期化や反復的なモデル学習は行いません。
2つの入力配列の準備方法
独立変数をx配列、従属変数をy配列として指定してください。対応関係は位置で決まり、最初のxは最初のy、2番目のxは2番目のyに対応し、以後も同様です。両方の配列には有限のJSON数値だけを入れ、長さを完全に一致させる必要があります。3次モデルには未知の係数が4個あるため、4組未満では要求されたモデルを特定できず、無効入力エラーになります。また、x配列には少なくとも4種類の異なる値が必要です。異なるx位置が4か所以上あれば同じxでの反復測定を含められますが、3か所だけを使う4行では、一意の3次多項式を決める独立情報が足りません。応答のcoefficients配列は[定数、1次、2次、3次]の順です。つまり、[a0, a1, a2, a3] は y = a0 + a1x + a2x² + a3x³ を表します。数学ソフトによっては最高次数から表示するため、表計算、グラフライブラリ、別のプログラムへ結果を移す際は、この順序を明示的に維持してください。
結果の読み方と適用上の限界
3次係数は3次の曲がり方、2次係数は2次の湾曲、1次係数は1次の傾向を支配し、定数は x = 0 における当てはめ値です。係数の大きさはxの単位と尺度に依存するため、単位を変換せずに異なる尺度のデータから得た係数を比較しないでください。当てはまりが良くても、実際の過程が3次であることや因果関係を証明するものではありません。特に観測数が少ない場合、高次数の項がノイズを追従することがあります。また、観測したx範囲の外への外挿は、妥当でない方向へ急速に増大する可能性があります。モデル品質が重要な場合は、分析工程でグラフと残差も確認してください。この機能は意図的に当てはめ係数だけを返し、推測統計、信頼区間、重み、予測は返しません。既知の3次関係、曲線近似、実験室の校正、再現可能なソフトウェア試験に適しています。ブラウザー計算は無料で、自動API呼び出しは成功した項目ごとに$0.002です。無効な配列は結果を生成する前に拒否されます。
活用例
曲線状の校正関係を当てはめる
対応する計器の読取値と基準値から、後続計算に使える3次校正式を作成します。
滑らかな観測傾向を近似する
直線や2次曲線では形状を十分に表せない非線形系列を、1つの簡潔な多項式で要約します。
決定的な試験データを作る
既知の対応配列から係数を生成し、数値ソフトウェアや教材の安定した検証値として使用します。
よくある質問
係数はどの順序で返されますか?
[定数、1次、2次、3次]の順で、y = a0 + a1x + a2x² + a3x³ における a0、a1、a2、a3 を表します。
なぜ少なくとも4点が必要ですか?
3次多項式には4個の係数があります。この仕様では、4組未満の観測から4係数すべてを一意に特定できません。
xに同じ値を含められますか?
はい。ただし、少なくとも4種類の異なるx値が必要です。それ未満では3次の計画行列がフルランクになりません。
多項式はすべての点を通りますか?
必ずしも通りません。最小二乗法は残差の2乗和を最小化します。整合するデータは補間できますが、ノイズや過剰決定がある場合は誤差を均衡させます。
計算料金はいくらですか?
ブラウザーでは無料です。成功したAPIリクエストは1回$0.002で、無効入力は当てはめ結果を生成せず拒否されます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/cubic-regression \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}'const res = await fetch("https://api.kit.forhosting.com/stat/cubic-regression", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/cubic-regression",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/cubic-regression", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[0,1,2,3,4],"y":[1,3,9,25,57]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/cubic-regression", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"x": [
0,
1,
2,
3,
4
],
"y": [
1,
3,
9,
25,
57
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.cubic_regression",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |