私は mlogit を使用して、靴の購入習慣に関する調査から得られた嗜好データを分析しています。現在、次のコードを実行しています。
library("mlogit")
Running <- read.csv(file="DiscreteChoiceDatav3.csv", head=TRUE, sep=",")
RS <- mlogit.data(Running, choice="Selected", shape="long", alt.levels=c("1", "2", "3", "4"), id.var="ResponseID", varying=NULL)
m1 <- mlogit(Selected ~ Brand + Cushioning + Fit + LnPrice + EXP_Weight | 0 | 0, data=RS)
summary(m1)
私が満足しているこれらの結果を生成しているのは次のとおりです。
Call:
mlogit(formula = Selected ~ Brand + Cushioning + Fit + LnPrice +
EXP_Weight | 0 | 0, data = RS, method = "nr", print.level = 0)
Frequencies of alternatives:
1 2 3 4
0.26859 0.24571 0.24142 0.24428
nr method
4 iterations, 0h:0m:1s
g'(-H)^-1g = 6.77E-08
gradient close to zero
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
BrandAAA -0.4072202 0.0559660 -7.2762 3.433e-13 ***
BrandBBB -0.5661727 0.0634774 -8.9193 < 2.2e-16 ***
BrandCCC -0.9346379 0.0575556 -16.2389 < 2.2e-16 ***
BrandDDD -0.6891785 0.0600212 -11.4823 < 2.2e-16 ***
CushioningModerate 0.7806761 0.0535750 14.5716 < 2.2e-16 ***
CushioningSoft 0.4684838 0.0568556 8.2399 2.220e-16 ***
CushioningVery Soft 0.2816491 0.0727461 3.8717 0.0001081 ***
FitSnug 0.5565443 0.0469520 11.8535 < 2.2e-16 ***
FitTight 0.0280130 0.0509774 0.5495 0.5826506
LnPrice -0.3744333 0.0760356 -4.9245 8.460e-07 ***
EXP_Weight -0.0214945 0.0015584 -13.7927 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood: -5316.9
ここで、回答者に関する以前の人口統計データを使用して、サンプルを 3 つのフィットネス カテゴリ (低 / 中 / 高) に分割したいと考えています。次の表に示すように、新しいセグメント化されたブランド変数と新しいダミー変数を作成して、そうしようとしました。
ただし、ブランド価値などの要因が回答者の適応度によってどのように変化するかを調査するのに役立つことを目的とした最も単純なモデルでさえ実行しようとすると、「計算上特異な」エラーが発生します。
> m1 <- mlogit(Selected ~ Brand + Brand_Medium | 0 | 0, data=RS)
Error in solve.default(H, g[!fixed]) :
system is computationally singular: reciprocal condition number = 1.09477e-17
> m1 <- mlogit(Selected ~ Brand_Medium | 0 | 0, data=RS)
Error in solve.default(H, g[!fixed]) :
system is computationally singular: reciprocal condition number = 1.06423e-17
私がどこで間違っているのか、誰かが何か考えを持っていますか? どうもありがとう。