月曜日, 3月 20, 2006

マーケティングとは

マーケティングは企業(Company)が、顧客(Consumer)に対して、競合他社(Competiter)との競争を通じて行う活動。
従って、マーケティング活動は、大きく、3つの要素で考えることが出来る。
つまり、

○企業(Company)が自社の製品・サービスやブランドの課題等を把握するために行う『内部分析』
○自社の製品・サービスを購入してくれる顧客(Consumer)、あるいは、顧客の顧客に関して分析を行う『消費者行動分析』あるいは『顧客行動分析』。
○競合他社(Competiter)、あるいは、競合他社によって構成される市場全体を把握するための『外部分析』。

企業は、3Cと呼ばれる『内部分析』、『顧客行動分析』、『外部分析』を行った後に、


○顧客を理解した上で、顧客を購買行動パターン、顧客特有の属性などによって分割し(Segmentation)、
○自社が焦点を当てるべき顧客層を決定し(Targeting)、
○その顧客層にどのような価値を提供するのか(Positioning)

を決める。こうして、3Cによる分析を活かして、STP(Segmentation, Targeting, Positioning)のプロセスで商品のポジショニングを決めた後は、

○製品・サービス(Product and Services)をどのように研究開発し、
○開発した製品サービス(Product and Services)の価格(Price)を決定し、
○同時に、販売チャネル(Place or Channel)を決め、
○販売展開のために顧客にどのような手段で情報を伝えるか(Promotion)

を考えなくてはならない。

無構造市場仮説

ある特定の製品が販売されなくなった場合に、その特定の製品のシェアに応じて他の製品のそれぞれのシェアが比例的に上昇するという考え方。
しばしばマーケティングにおける帰無仮説とされる。

RによるSEM

SEMの共分散構造、つまり観測変数の共分散に関するパラメータ構造 Σ(θ)の定式化には幾つかの方法が知られています。
Bentler and Weeks の EQS モデル (EQuationS model) 、McArdle and McDonald の RAMモデル (Reticular Action Model)、Jöreskog-Keesling-Wiley の LISRELモデル (LInear Structural RELations model)、McDonald の COSANモデル (COvariance Structure ANalysis model)、 一般化COSANモデル (generalized COSAN model)など。RのパッケージではこのうちRAMが利用出来ます。

さて、それではSEMパッケージをダウンロードしましょう。但し、ダウンロードした zip ファイルを解凍ツールで解凍しないで下さい。どうやらコードが文字化けするようでSEMを走らせることが出来ません。
メニューバーの Packages の Install package(s) from local zip files からインストールすると上手くいきます。

まず、観測変数の共分散行列、例でいうとR.DHPですが、これを入力します。

>R.DHP <- matrix(c(
1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
.6247, 1, 0, 0, 0, 0, 0, 0, 0, 0,
.3269, .3669, 1, 0, 0, 0, 0, 0, 0, 0,
.4216, .3275, .6404, 1, 0, 0, 0, 0, 0, 0,
.2137, .2742, .1124, .0839, 1, 0, 0, 0, 0, 0,
.4105, .4043, .2903, .2598, .1839, 1, 0, 0, 0, 0,
.3240, .4047, .3054, .2786, .0489, .2220, 1, 0, 0, 0,
.2930, .2407, .4105, .3607, .0186, .1861, .2707, 1, 0, 0,
.2995, .2863, .5191, .5007, .0782, .3355, .2302, .2950, 1, 0,
.0760, .0702, .2784, .1988, .1147, .1021, .0931, -.0438, .2087, 1
), ncol=10, byrow=TRUE)

次に、モデルをRAMの特定化に沿って入力します。

model.dhp <- matrix(c(
'RParAsp -> RGenAsp', 'gam11', NA,
'RIQ -> RGenAsp', 'gam12', NA,
'RSES -> RGenAsp', 'gam13', NA,
'FSES -> RGenAsp', 'gam14', NA,
'RSES -> FGenAsp', 'gam23', NA,
'FSES -> FGenAsp', 'gam24', NA,
'FIQ -> FGenAsp', 'gam25', NA,
'FParAsp -> FGenAsp', 'gam26', NA,
'FGenAsp -> RGenAsp', 'beta12', NA,
'RGenAsp -> FGenAsp', 'beta21', NA,
'RGenAsp -> ROccAsp', NA, 1,
'RGenAsp -> REdAsp', 'lam21', NA,
'FGenAsp -> FOccAsp', NA, 1,
'FGenAsp -> FEdAsp', 'lam42', NA,
'RGenAsp <-> RGenAsp', 'ps11', NA,
'FGenAsp <-> FGenAsp', 'ps22', NA,
'RGenAsp <-> FGenAsp', 'ps12', NA,
'ROccAsp <-> ROccAsp', 'theta1', NA,
'REdAsp <-> REdAsp', 'theta2', NA,
'FOccAsp <-> FOccAsp', 'theta3', NA,
'FEdAsp <-> FEdAsp', 'theta4', NA),
ncol=3, byrow=TRUE)

'RParAsp -> RGenAsp', 'gam11', NA,を例にとると、RParAsp から RGenAspへの因果関係を仮定し、そのパラメータを gam11と名付け、NA を初期値として推計する。
ということになります。
このパッケージでは最尤法が用いられています。

次に、観測変数がどれなのかということを指定します。何も指定しない場合には共分散行列の行の名称が設定されます。

obs.vars.dhp <- c('ROccAsp', 'REdAsp', 'FOccAsp', 'FEdAsp', 'RParAsp', 'RIQ','RSES', 'FSES', 'FIQ', 'FParAsp')


ここまでで準備はお終い。
いよいよ、モデルを推定します。
329 というのは共分散行列を推計するもとになった実際の観測数です。
John Fox氏の"Structural Equation Models / Appendix to An R and S-PLUS Companion to Applied Regression"によると、サンプルで用いられているDuncan, Haller, and Portesのデータセットに基づいています。
[参考]Duncan, O. D., A. O. Haller & A. Portes. 1968. "Peer Influences on Aspirations: A Reinterpretation." American Journal of Sociology 74:119 - 37.


> sem.dhp.1 <- sem(model.dhp, R.DHP, 329, obs.vars.dhp,fixed.x=c('RParAsp', 'RIQ', 'RSES', 'FSES', 'FIQ', 'FParAsp'))

> summary(sem.dhp.1)

とすると、推計結果が表示されます。

データに対するモデル Σ(θ) の適合度関数 f に対して、次の量
χ2 = ( N - 1 ) f
は、N が大きい時近似的に、m を自由母数の数 + 制約母数の数 - 制約数として
自由度 = (1/2)p(p+1) - m
という χ2 分布に従うことが知られています。

Rのアウトプットにある
Model Chisquare = 26.697 Df = 15 Pr(>Chisq) = 0.031302
というのは、
モデルが正しいとする帰無仮説をモデルは正しくないとする対立仮説に対してχ2 分布を用いて検定した結果を示しています。

この場合、
Pr(>Chisq) = 0.031302
ですから、Chisquare = 26.697 よりも大きな値となる確率は約3%ということになり帰無仮説は棄却される。モデルは正しくないということになる。
しかし、ここで注意しなければならないのはカイ自乗検定は観測変数Nに影響受けやすいという点。標本数が多くなるとモデルが棄却されやすくなることが知られています。

次に、Goodness-of-fit index(GFI)は、カイ自乗検定とは異なり観測変数Nに影響を受けにくいモデル評価の指標とされる。
通常は0から1までの値をとり、0.9以上あればかなり良いモデルということになります。
この例でいうと、
Goodness-of-fit index = 0.98439
なので非常に当て嵌まりが良いと言っても良いでしょう。

ここまで来たらもう少し。
> path.diagram(sem.dhp.1, min.rank='RIQ, RSES, RParAsp, FParAsp, FSES, FIQ',
max.rank='ROccAsp, REdAsp, FEdAsp, FOccAsp')
と入力するとパス図の「素」が出力されます。

digraph "sem.dhp.1" {
rankdir=LR;
size="8,8";
node [fontname="Helvetica" fontsize=14 shape=box];
edge [fontname="Helvetica" fontsize=10];
center=1;
{rank=min "RIQ" "RSES" "RParAsp" "FParAsp" "FSES" "FIQ"}
{rank=max "ROccAsp" "REdAsp" "FEdAsp" "FOccAsp"}
"RGenAsp" [shape=ellipse]
"FGenAsp" [shape=ellipse]
"RParAsp" -> "RGenAsp" [label="gam11"];
"RIQ" -> "RGenAsp" [label="gam12"];
"RSES" -> "RGenAsp" [label="gam13"];
"FSES" -> "RGenAsp" [label="gam14"];
"RSES" -> "FGenAsp" [label="gam23"];
"FSES" -> "FGenAsp" [label="gam24"];
"FIQ" -> "FGenAsp" [label="gam25"];
"FParAsp" -> "FGenAsp" [label="gam26"];
"FGenAsp" -> "RGenAsp" [label="beta12"];
"RGenAsp" -> "FGenAsp" [label="beta21"];
"RGenAsp" -> "ROccAsp" [label=""];
"RGenAsp" -> "REdAsp" [label="lam21"];
"FGenAsp" -> "FOccAsp" [label=""];
"FGenAsp" -> "FEdAsp" [label="lam42"];
}

これを、sem.dhp.1.dot として EUC 形式でファイルに保存します。
そして、graphvizのWindows 版をダウンロード。

dot ファイルを gif 形式の画像ファイルに変換します。

論理結合子

論理結合子 logical connective使い方意味
連言 conjunctive ∧P∧Q PかつQ
選言 disjunction ∨P∨Q PまたはQ
否定 contradiction ¬¬P Pでない
含意 implication ⇒P⇒Q PならばQ
同値 equivalence ⇔P⇔Q PはQと同値である

Octaveで財務計算

Octaveというのは、MATLAB とほぼ同等に使用できる数値演算言語です。
シミュレーションなどに威力を発揮します。ビジネスの分野では金融・財務計算などに最適。と一緒に使うと便利でしょう。

将来価値を計算するには fv(r,n,p,l,method) という関数を使います。
r は金利、n は期間、p はその期間における期待収益、l は収益満期払い、method は収益が期末(e)か期首(b)かということです。
この関数のデフォルトでは期末(e)になっています。

例えば、5%の金利で、10年間、毎期10億円の収益が期待出来るという投資案件の将来価値は、

octave:6> fv(0.05,10,10)
ans = 125.78

と、125.78億円ということになります。
同じ案件で収益が期首に発生するという場合は

octave:7> fv(0.05,10,10,"b")
ans = 132.07

と、132.07億円ということになります。

逆に、現在価値を計算するには、pv(r,n,p,l,method) という関数を使います。

例えば、5%の金利で、10年間、毎期10億円の収益が期待出来るという投資案件の現在価値は、

octave:8> pv(0.05,10,10)
ans = 77.217

と、77.217億円ということになります。