データ分析やAI予測の基本中の基本「回帰分析」「最小二乗法」の基礎をPythonコードと図で理解する:「AI」エンジニアになるための「基礎数学」再入門(15)
AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載。今回は「回帰分析」「最小二乗法」について、図版とPythonコードを交えて解説します。
AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す本連載『「AI」エンジニアになるための「基礎数学」再入門』。前回まではSeason1として基礎を学んできました。
今回からはSeason2、応用編として下記の範囲を学んでいきます。
応用編初回のテーマは「最小二乗法」です。
データ分析やAI予測の基礎「回帰分析」とは、「最小二乗法」とは
皆さんは「Microsoft Excel」などで「回帰分析」を行ったことはあるでしょうか。
経験のある方は必見です。今回の記事を読めばモデル(=予測線)がどのように生成されるかが理解できます。これまでなんとなくポチっとボタンを押すと引かれていた線が、どのような線なのかが気になってきませんか。
なお、「回帰分析とは何ぞや?」という方のために説明すると、概要はこちらの通りです。
- 量的データ(連載第2回参照)の予測を直線で行う手法
- 図1は「アイスの販売個数」を「気温」を用いて予測する様子
図1のような線があれば「明日は27度になるそうだ」と分かり、「明日は240個ほどアイスが売れそうだ」と予測できるわけです。
2点を通る直線
まずは高校数学の内容から思い出してみましょう。図2のような2点を通る直線はどのように求めるか覚えていますか?
このように解きます。
まず、仮の線を「y = ax + b」と置く。
点A (1,1) から、「1 = a + b」が成り立つ【1】。
点B (2,2) から、「2 = 2a + b」が成り立つ【2】。
ここで、【1】から、「a = 1 - b」を?に代入すると、「b = 0」となる【3】。
【3】を【1】に代入すると、「a = 1」となる。
よって、点A、点Bを通る直線は、「y = x」となる。
これは比較的簡単ですね。
3点ある場合(直線的ではない)どうする?
では図3のような3点がある場合に、「全ての点の近くを通る線を求めよ」といわれたら、どのような線が適切でしょうか?
問いをもう少し具体化します。仮の線を「y = ax + b」とすると、先ほどのようにa,bの値が決まれば線が決定します。
従って、「どのような線を描くか?」=「a,bの値はいくつか?」ということになります。それでは、a,bはどのように求めるのでしょうか?
関連記事
- [AI・機械学習の数学]微分法を応用して、回帰分析の基本を理解する
微分の考え方と計算方法を理解したら、次は微分の公式を押さえて活用してみよう。幾つかの公式を紹介し、応用例として回帰分析を行うための最小二乗法について基本的な考え方を見ていく。 - [AI・機械学習の数学]偏微分の基本(意味と計算方法)を理解する
「偏微分」って何? いかにも難しそうな名前だが、微分を理解していれば意外に簡単。前回までの知識を踏まえて、今回は偏微分の意味と計算方法を理解しよう。 - [AI・機械学習の数学]偏微分を応用して、重回帰分析の基本を理解する
これまでに見てきた、説明変数が1つだけの回帰分析と偏微分の基本知識を踏まえて、複数の説明変数がある重回帰分析を行うための基本的な方法を理解しよう。
Copyright © ITmedia, Inc. All Rights Reserved.