「線形回帰」とは、データの中の直線関係をモデル化する方法の1つです。
「線形」とは、データのある変数が増えたら別の変数も直線的に増える(または減る)という状態を指します。
「回帰」とは、データを式で表現することを言います。
線形回帰分析を行うことで、データの性質を表現した数式が得られます。
その数式を線形回帰直線や線形回帰モデルと呼びます。
線形回帰の例としては、例えば、fxでトレンドやチャネルを考える時に用いられたりします。
- 線形回帰の求め方は?
- 線形回帰を行うアルゴリズムは?
- 最小二乗法とは?
と思われる方も多いかと思います。
そこで本記事では、
- 線形回帰を Python で行う方法
- 線形回帰のアルゴリズム
- 線形回帰モデルのサンプルコード・実装
などについて、サンプルコードを交えながら、わかりやすくまとめます。
【線形回帰 Python】線形回帰とは?線形回帰モデルのアルゴリズム、最小二乗法とは?回帰直線式や係数の求め方など、線形回帰分析を Python でやりたいあなたはこちらをどうぞ【scikit-learn】
線形回帰のやり方とは
線形回帰のやり方の全体像は以下になります。
(1), データの準備
(2), 線形回帰の実行
(3), 結果の解釈
の3ステップになります。
以下でそれぞれについて解説していきますね。
線形回帰のためのデータ準備
線形回帰は、2つの変数の関係を調べる方法です。
線形回帰分析では、2つの変数を含んだデータが必要です。
例えば、
- 身長と体重
- 気温と売り上げ
などの「値のペア」のデータとなります。
- 線形回帰分析では、分析に必要な形式のデータが必要
ということになります。
これを読まれているあなたは、線形回帰を行ってみたいデータをお持ちかもしれません。
もしあるなら、ぜひそのデータを使ってみてください。
自分のデータで分析すると習得も早くなるかと思います。
この記事では、「人工データ」を使って、線形回帰を行ってみたいと思います。
人工データは使うメリットがあるからです。
理由を説明しますね。
人工データを使うメリット
通常、線形回帰のゴールは、数式を決めることですが、
ここでは線形回帰を学ぶのを主目的にしています。
なので、以下のようにしてみます。
(1), 答えである数式からデータを発生させる
(2), そのデータに線形回帰分析を実行する
(3), 得られた数式が、データを発生させた数式を再現できるかどうかを確かめる
この3ステップを人工データで再現してみてほしいと思います。
それを1度やっておくことで、
ご自分のデータを線形回帰分析するときにも
同じ方法で数式を作れるんだという感覚を得ることができるからです。
この人工データを使う方法は、線形回帰に限らず、
日々開発される新しい手法を身につける際にも、
いつでも使えるやり方になっています。
線形回帰のアルゴリズムとは(最小二乗法)
- 具体的にどうやって数式作るの?
ということを説明します。
繰り返しになりますが、線形回帰の目的は、
- データをよりよく再現する数式を作ること
です。
最初からいきなり正解の数式を作ろう!と考えると理解が難しくなります。
なので考え方を変えて、
- 最初は大まかに数式を決め、改良を加えて良い数式を作る
という考え方を知っておくと理解しやすくなるかと思います。
具体的には、以下のイメージです。
(1), 数式を仮定
(2), 数式にデータの片方を入れ、もう一方を計算
(3), 計算して得た値と、本物(正解)の値との差を計算する
(4), 正解との差が小さくなるように、数式を変化させる
より具体的に説明しますね。
この先は会員限定になります。
会員の方はログインをお願いいたします。
登録がまだの方は、会員登録をお願いします。
>>> 会員登録はこちら
人工知能 3番目の入門書: 線形回帰分析 (ミント出版)
本書は、線形回帰分析について、機械学習の文脈と、統計解析の観点の2点から、やり方を学べるお得な1冊です。
Pythonで手を動かしながら線形回帰分析をやってみたい初学者の方などにおすすめです(無料です)。
↓こちら無料で読めます