解説
散布図の点の並びに、最もよく合う1本の直線を引くのが単回帰分析です。直線 y = ax + b の傾き a と切片 b を、誤差の2乗の合計が最小になるように決める方法を最小二乗法といいます。
公式:
- a = (n・Σxy − Σx・Σy) / (n・Σx² − (Σx)²)
- b = (Σy − a・Σx) / n
求めた直線を使えば、データにないxの値に対する予測もできます。
書き方
・sum(xs) / sum(ys) — x・y の合計(Σx, Σy)。
・sum(x * y for x, y in zip(xs, ys)) — Σxy。sum(x * x for x in xs) — Σx²。
・最小二乗法: a = (n·Σxy - Σx·Σy) / (n·Σx² - (Σx)²)、b = (Σy - a·Σx) / n。
・求めた直線 y = ax + b で a*x+b として予測値を計算。f"{a:.3f}" で整形。書いて動かす
この回の課題
データ対に最もよく合う直線 y=ax+b を最小二乗法で求め、各点の予測値と、データにない x=10 の予測も表示しよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。