Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

PYR102 week 7, 8 判別分析

特定テーマに限定したWikiを立ち上げる必要もなく、ブログの様に私見をまとめる必要もない、

  • 講義の予習ノート
  • 読書ノート
  • メモ

などの雑記帳Wikiから移行した投稿。

統計クラスの予習ノート。

用語

ANOVA ANalysis Of VAriance
分散分析
Bayes Discriminant Rule ベイズ判別式、ベイズ判別規則
categorical variable カテゴリ変数、質的変数、属性変数
DA Discriminant function Analysis
判別関数分析?
dependent variable 従属変数、従変数
discriminant analysis 判別分析
discriminant function 判別関数
latent variable 潜在的変数
independent variable 独立変数
LDA Lnear Discriminant Analysis
線形判別分析
linear classifier 線形分類器
linear combination 一次結合、線形結合
logistic regression ロジスティック回帰
NDA Normal Discriminant Analysis
正規判別分析?
predictor 予測因子
Probit regression プロビット回帰
regression analysis 回帰分析
spectral decomposition スペクトル分析
subpopulation 部分母集団
transpose 行列の転置
偏差 確率変数x、確率変数の平均X
x - X
平方和
偏差平方和
変動
偏差の2乗(平方)の和。
Σ(x - X)^2
標本分散 自由度=標本サイズn、で平方和を割ったもの。
1/n * Σ(x - X)^2
普遍分散 自由度=標本サイズn-1、で平方和を割ったもの。
υ=1 / (n - 1) * Σ(x - X)^2

判別分析

複数グループ(群、カテゴリ)を含むデータを元に

  • 分けられている基準を解析する。
  • 標本がどのグループに属するかを予測する。
線形判別関数 未分類のデータに基づいた出力(正負)によって、線のどちら側(正の側、負の側)に属するかでグループ分けする。
マハラノビス距離 2点間の直線距離を標準偏差で割った値の2乗。
分布が大きく、直線距離(ユークリッド距離)ではグループ間を仕切れない場合に利用する。
次元が多い場合に利用する。

判別分析とは|市場調査ならインテージ

線形判別 教師あり学習
データのラベルを用いる。
主成分分析 教師なし学習
データのラベルを用いない。

数理モデル

ANOVA YがQuantitativeデータ。
XがQualitativeデータ。
判別分析 YがQualitativeデータ、XがQuantitativeデータ。
Y = LDA

参照

HELLO CYBERNETICS フィッシャーの線形判別 - HELLO CYBERNETICS 分かりやすい説明。
biopapyrus 農業情報 線形判別分析 | 線形判別分析を利用した次元削減 簡潔な説明。
人工知能に関する断創録 フィッシャーの線形判別 - 人工知能に関する断創録 決定境界に関する説明。
SlideShare 線形識別モデル 順を追った長い説明。
Rdiscriminant 判別分析
判別分析の考え方
Rと説明。
データ分析基礎知識 クラスター分析の手法①(概要) | データ分析基礎知識 用語の確認。
Qiita 30分でわかる機械学習用語「次元削減(Dimensionality Reduction)」 - Qiita 次元削減。

R

復習
cor function | R Documentation 相関係数
cov 共分散
corを参照。
eigen function | R Documentation 行列Xの固有値固有ベクトル
lapply function | R Documentation 指定した関数FUNを、指定した変数Xへ適用する。
levels function | R Documentation] 水準ラベル
nrow function | R Documentation 行の数
sapply lapplyのラッパー
var 普遍分散
corを参照。

ベクトルの結合

cbind function | R Documentation 列ベクトル単位で結合する。
rbind 行ベクトル単位で結合する。
cbindを参照。
( x <- rbind(c(1,2,3), c(4,5,6)) )     # 行ベクトルを与えて行列生成
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6

 ( x <- cbind(c(1,2,3),c(4,5,6))  )     # 列ベクトルを与えて行列生成
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
線形判別分析
lda function | R Documentation 線形判別分析
library(MASS)
predict function | R Documentation モデル予測
predict.ldaを参照。
predict.lda function | R Documentation モデル予測
coef function | R Documentation 回帰係数
coefficients coefのエイリアス
ldahist function | R Documentation 線形判別分析のヒストグラム
library(MASS)

ldaの出力結果

Prior probabilities of groups グループの初期構成比 $prior
Group means グループの平均 $means
Coefficients of linear discriminants 線形判別式の係数 $scaling
Proportion of trace 判別力、識別力
級間分散の説明率
各判別関数によって達成される分離度(パーセント)
寄与率
縮約したあとの各次元が元のどれだけの情報を示すか。
群間偏差、群内偏差 $svd
データ数 $N
実行時の呼び出し $call

predict.ldaの出力結果

class 判別結果 $class
事後確率
グループに所属する確率。
$posterior
判別得点 $x

Python

sklearn.discriminant_analysis.LinearDiscriminantAnalysis 線形判別分析

引数n_componentsについて

  • lda、predictには影響しない。
  • クラス数-1以上の数値指定は無効。

決定境界の本数はクラス数-1

n_components : int, optional (default=None)
Number of components (<= min(n_classes - 1, n_features)) for dimensionality reduction. If None, will be set to min(n_classes - 1, n_features).

This is implemented in discriminant_analysis.LinearDiscriminantAnalysis.transform. The desired dimensionality can be set using the n_components constructor parameter.

This parameter has no influence on discriminant_analysis.

LinearDiscriminantAnalysis.fit or

discriminant_analysis.LinearDiscriminantAnalysis.predict.

1.2. Linear and Quadratic Discriminant Analysis — scikit-learn 0.24.0 documentation

R、PythonのLDA、対応関係

f:id:espio999:20210117082955p:plain