#VGAMのインストールが済んでいない場合,以下の行を実行してください.

install.packages("VGAM")

 

#パッケージの読み込み

library(VGAM)

 

#以下を実行したときに表示されるフォルダ名にデータ(v08c5tv.csv)を置いてください.

getwd()

 

#データの読み込み

c5tv <-  read.csv("v08c5tv.csv")

 

#2

#1変数多項ロジットモデル

c5logitm1<-vglm(購入機種 ~ 基本性能重視度, data = c5tv, family = multinomial())

 

#カテゴリの並び順を確認(最終カテゴリが魅力を1と調整した基準.この場合はEが基準,1A2B)

head(c5logitm1@y)

#基本性能重視度420のデータフレーム作成.

c5newdata1 = data.frame("基本性能重視度" = c(4:20))

#420それぞれの場合の予測値の算出

c5predict1 <- predict(c5logitm1, c5newdata1, type = "response")

#予測値の行名を420にする

rownames(c5predict1) <- t(c5newdata1["基本性能重視度"])

 

#グラフ描画

#まず空のグラフでグラフの外枠だけ作る.

plot(0, 0, type = "n", xlim = c(4, 20), ylim = c(0, 0.6),xlab = "基本性能重視度", ylab = "購入確率")

#AEのグラフの色設定

cols <- c("black", "red", "blue", "orange", "green")

#1列目から5列目までを曲線として書き加える.

for (i in 1:ncol(c5predict1)){

    lines(rownames(c5predict1), c5predict1[, i], col = cols[i])

}

#グラフに凡例を加える

legend("top", legend = colnames(c5predict1), col = cols, lty = 1)

 

#3

#10,11の確率

predict(c5logitm1, data.frame("基本性能重視度" = c(10, 11)), type = "response")

#10,11のオッズ.log(mu[,1]/mu[,5]) 1が基本性能重視度10の場合のAのオッズ

(c5odds <- exp(predict(c5logitm1, data.frame("基本性能重視度" = c(10, 11)))))

#オッズ比

c5odds[2,1]/c5odds[1,1]

#重みを使ったオッズ比計算.coef(分析結果)で係数を取り出すことができる.この部分はglmと使い方が異なる.

#すべての係数が並んだベクトルとして取り出され,その5番目がAの重み.exp(重み)オッズ比.

exp(coef(c5logitm1)[5])

 

#4

#2変数多項ロジットモデル.共用が1の場合共用,0の場合個人用.

c5logitm2<-vglm(購入機種 ~ 基本性能重視度 + 共用, data = c5tv, family = multinomial())

 

#5

#共用の場合と個人用の場合,それぞにおける基本性能重視度10の時の購入確率.

predict(c5logitm2, data.frame("共用" = c(0, 1),"基本性能重視度" = c(10, 10)), type = "response")

coef(c5logitm1)

 

#====================================================

#2022.09.09 齋藤朗宏・荘島宏二郎