2007/09/30

freecsstemplates.org

a good page
http://www.colourlovers.com/blog/2007/09/28/colors-of-the-top-20-magazine-covers/

发现有意味的设计Idea

2007/09/13

How to use the Inbox Repair Tools to recover e-mail messages in Outlook 2002 and Outlook 2003

{disk drive}:\Program Files\Common Files\System\Mapi\1033\
{disk drive}:\Program Files\Common Files\System\MSMAPI\1033\
ScanPst.exe
ScanOst.exe

Fw 多次元尺度構成法講義ノート

多次元尺度構成法講義ノート
千野直仁
愛知学院大学文学部
於大阪大学人間科学部
2003 年5 月28 日
Contents
1 尺度構成の基礎1
1.1 自然科学における量的概念とその測定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 心理学における量的概念とその測定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 感覚尺度構成法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 心理学的尺度構成法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 多次元尺度構成法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 古典的MDS と基礎定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 ヤング・ハウスホールダーの定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 エッカート・ヤングの定理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 古典的MDS における対象間距離の推定方法と加算定数. . . . . . . . . . . . . . . . 8
1.3.4 対象間距離からの布置回復例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 多次元尺度構成法の展開12
2.1 トーガソン以降の主要なMDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 ノンメトリックMDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 個人差MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 ALSCAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4 最尤MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 その他のMDS と最近の展開. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 多次元展開法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 内積モデル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 非対称MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
i
Chapter 1
尺度構成の基礎
 
この章では、多次元尺度構成法について議論するに先立ち、まず自然科学における量的概念とその測
定について簡単に紹介し、つぎに心理学における量的概念とその測定が心理測定の研究の歴史の中で
どのようにして議論され発展してきたかについて簡単に紹介する。最後にいわゆる古典的多次元尺度
構成法(古典的MDS)とその基本定理について紹介する。
自然科学における量的測定に関しては、著名な論理実証主義哲学者の一人であるカルナップ(Carnap,
1966) の著書「物理学の哲学的基礎」の一節を紹介し、自然科学的測定の客観性・厳密さとその特徴
に言及する。とりわけ物理学的測定では、尺度構成は主観を排し、さらに対象の持つ何らかの性質や
当該状態の生起するメカニズムに関する理論に基づいてなされることがわかる。
自然科学的測定に対して心理学的測定においては、尺度構成すなわち複数の対象や刺激の一次元も
しくは多次元尺度上への位置づけに際しては、ほとんどの場合それらの持つ性質や当該状態の生起す
るメカニズムに関して理論が確立されていないと言ってよい。例えば、社会的ないしは心理的対象に
対する態度を測定しようとするとき、対象に対する態度自身がどのようなまたどれだけの次元から成
り立っているのか、さらには対象に対する被験者の態度はどのような脳内のメカニズムが働き最終的
な態度の表出が行われるのか等については、ほとんどわかっていないのが実情である。
また、心理学的測定においては、対象の位置づけが被験者またはグループにより異なる場合も多々
ある。この点も、心理学的尺度構成法が自然科学的尺度構成法と比べて大きく異なる点であろう。こ
のような事情を反映して、心理学における尺度構成法の歴史はまず物理学的対象の持つ量的属性が被
験者が感じた心理学的値とどのような対応関係にあるのかとの問題設定からスタートしている。いわ
ゆる感覚尺度構成法と呼ばれており、19世紀中ごろから精神物理学的測定において議論された。
これに対して、対象の測定を必ずしもその物理的特性との関連なしで行えることを20世紀前半に
計量心理学者のサーストンらが示し、現在では一次元的尺度構成法と位置づけられる心理学的尺度構
成法の研究が発展した。心理学的尺度構成法では、対象の位置づけは対象の持つ物理的性質や状態の
生起するメカニズムから離れ、対象に対する心理学的判断の誤差分布等の仮定から対象を一次元連続
体上に位置づける、すなわち一次元尺度の構成を行う方法が発展した。
(一次元的)尺度構成法はリチャードソン、トーガソンらにより50年代には多次元尺度構成法
(MDS) に発展した。初期のMDS は、現在では古典的MDS と呼ばれ、対象間の(非)類似度データは
原則的には比率尺度レベルで測定されている必要があったが、その制約も60年代以降シェパード・ク
ラスカルらにより取り払われ、順序尺度レベルで測定された対象間の(非)類似度データから対象を
多次元距離空間に位置づけるノンメトリックMDS、対象に対する判断の個人差を考慮する個人差MDS、
誤差分布に正規分布等を仮定しモデルの未知パラメータを最尤法で推定する最尤MDS などが多くの計
量心理学者により提案された。この章では、それらのMDS の基本と成る古典的MDS の基本定理につ
いて最後にふれる。
 
1
CHAPTER 1. 尺度構成の基礎2
1.1 自然科学における量的概念とその測定
論理実証主義哲学者として著名なCarnap (1966) は、著書「物理学の哲学的基礎」の中で、科学上の3
つの主要概念として、分類概念(classificatory concept)、比較概念(comparative concept)、及び量的概念
(quantitative concept) をあげている。彼の主張を要約・補足するとつぎのようである:
「分類概念」は、対象(や状態)、以降必要な場合のみ両者を使い分けるが、それに言及しない場合に
は、対象もしくは状態を意味するものとする。Carnap の原文では、「状態」の方は使われていないが、こ
の資料ではこれを追加した)をあるクラスに割り付ける概念であり、生物学における魚類、は虫類、ほ乳類
などがその代表例である。また対象を「重い」とか「軽い」と分類するだけであれば、やはりこれらは分類
概念に過ぎない。
一方、2つの対象を比較して「より重い」とか「より軽い」や、対象の状態を「より暖かい」とか「よ
り冷たい」とか言う場合、これらは「比較概念」となる。比較概念の場合、それにより複数の対象や状態
を比較するための客観的経験的手続きが必要となる。例えば、重さの概念の場合、そのためには天秤と2
つの規則– 2つの対象a、b の相等性(equivalence) に関するものおよび大小関係に関するもの(ここで
はより小さいless than という関係とし)– が必要である。これら2つの経験的関係(empirical relations)
を、以降EM(a, b) 及びLM(a, b) と表記するものとする。
比較概念で重要な点は、それが自然の事実に適用されるかどうかという問題とは別に関係の論理的構造
に縛られる、という点である。つまり、ここで3つの対象や状態をa、b、c、として、関係E は対称的
(symmetric) すなわちE(a,b) ⇒ E(b,a) であり、かつ推移的(transitive) すなわちE(a,b) かつE(b,c) ⇒ E(a,c) でなければならない。一方関係L は非対称的(asymmetric) すなわちL(a,b) ⇒ L(b,a) でないし、
推移的すなわちL(a,b) かつL(b,c) ⇒ L(a,c) が成り立たなければならない。
「量的概念」は対象が数値を持つ概念であるが、この値に達するための客観的手続きとその規則が必
要である。そのためには、一般にある量M について、つぎの5つの規則が必要であるという:
1. EM(a, b) ⇒ M(a) = M(b)
2. LM(a, b) ⇒ M(a)<M(b)
3. 特定の値s (通常ゼロ)を特定の対象や状態p に割り付ける(M(p) = s)。
例えば、温度の場合、凝固しつつある水の状態p に対してゼロなる値を割り付ける(M(p) = 0)。
4. 単位の規則、と呼ばれるもので、もう1つの容易に認識され再現できる対象や状態q を明確に定義
し、この量の第2の特定の値t を割り付ける(M(q) = t)。通常は1である。
例えば摂氏目盛りでは、t=100 を沸騰状態の水q に対して割り付ける(M(q) = 100)。
5. 量の差の相等性の条件ついての規則EDM(a, b, c, d) ⇒ M(a) −M(b) = M(c) −M(d)
ここで、EDM(a, b, c, d) は経験的条件とする。例えば、温度の場合、温度計に用いられる物質の
体積について、水銀のどれか2つの体積の差が、他の体積との差に等しいとき、目盛りが温度の等し
い差を示すような温度計を作らなければならない。そのような温度計ができれば、われわれは上記
EDM(a, b, c, d) をつぎのように表現することができる:EDM(a, b, c, d) ≡ d(a, b) = d(c, d)
ここで、d(a,b) は温度計が物体a に接触している時の目盛りと物体b に接触している時の目盛りと
の差を表すものとする。
これまでの議論で注意すべきは、Carnap の議論している重さや温かさ(温度)の測定は対象や状態の
心理的判断や主観的判断に関するものではなく、自然科学的・客観的判断に関するものである、という点で
ある。言い換えれば、 
物理学的測定では、尺度構成は物理学的対象の持つ何らかの性質や当該状態の生起するメカニズムに
ついての理論に基づいて行われる、
  と言う点が重要である。
1.2 心理学における量的概念とその測定
1.2.1 感覚尺度構成法
心理学における量的概念とその測定に関する理論は、歴史的にはライプチヒ大学の物理学教授G.T. Fechner
(1801-1887) により創始された精神物理学(psychophysics) ににさかのぼることができよう。彼のめざした
CHAPTER 1. 尺度構成の基礎3
のは精神と身体の関係に関する精密理論であるが、具体的には物理学的刺激強度と心理学的感覚強度との数
学的関数関係の究明であり、よく知られたフェヒナーの法則(Fechner’s law) R = klog(S/b) をウエーバー
の法則から理論的に導いた(Fechner, 1860)。ここで、R は、感覚強度であり、S は刺激強度、b は閾値す
なわち感覚が生じかつ消失する刺激値の単位である。つまり、人が感じる感覚の大きさは、(物理)刺激の
絶対的大きさではなく、刺激の大きさの対数に比例するというわけである。
彼の法則が、基本的には被験者に2つの物理刺激の感覚強度の差(の有無)の判断をさせることにより
間接的に感覚量を測定するのに対して、スティーブンス(Stevens, S. S, 1951) は被験者に物理的な標準刺
激の感覚量に対する比較刺激の直接的な感覚量の(比の)推定を行わせることにより、著名なスティーブン
スの法則ないしはベキ法則R = aSl を提案した。
これらの尺度構成法は、前節で述べた物理学における量的測定とは異なり、(原則的には) 物理学的対象
やその状態のもつ何らかの量との対応で、いわゆる心理学的連続体(psychological continuum) 上に各対象
や状態を位置づけることにより、心理学的尺度、より限定的には感覚尺度(sensory scale) を構成するので、
感覚尺度構成法と呼ばれることもある。いずれにせよ、 
この種の尺度では、対象やそれが持つ何らかの状態そのものの性質や状態の生起するメカニズムにつ
いての理論から尺度を構成するわけではない
  点に注意が必要である。
心理学的尺度構成を、精神物理学的測定、とりわけ物理刺激の弁別過程の考察から、さらに発展させる
きっかけを作ったのが、つぎの節で述べるサーストン(Thurstone, L. L, 1887-1955) の幾つかの仕事であ
る。彼は、心理学的尺度を構成する対象や状態は必ずしも物理的対象や状態である必要はなく、物理学的刺
激や状態、心理学的刺激や状態における測定誤差や判断誤差に関する統計学的分布の情報が特定できれば、
それらの対象や状態を心理学的連続体上に位置づけることができることを示した。
1.2.2 心理学的尺度構成法
前節の感覚尺度構成法も広義には心理学的尺度構成法と呼ぶことができるが、ここでは後者を前者と区別す
ることにする。前者の構成では、物理学的刺激との対応で心理学的尺度を構成するが、心理学的対象や状態
の場合、物理学の場合のそれらと異なり、例えば知能、学力、態度、物理的刺激に対する心理的判断などの
ように、対象やそれが持つ何らかの状態そのものの性質や、状態の生起するメカニズムについての理論が確
立していない場合がほとんどと言えよう。そのような場合の幾つかについて、旧来の精神物理学的方法とは
全く異なる方法により(心理学的)尺度を構成する方法を最初に提案したのが、サーストンである。それら
は、絶対尺度(absolute scale) 、比較判断の法則(the law of comparative judgement)、及びカテゴリー判
断の法則(the law of categorical judgement) であり、以下に統計学辞典(1989) に従って簡単に紹介する。
まず、絶対尺度(Thurstone, 1925, 1928; Thurstone & Ackerson, 1929) は、ビネー式知能検査のような
複数の項目から成る心理学的検査を複数の年齢や学年の生徒に実施して得られる正答率のデータから、個々
の検査項目を1つの尺度(これを彼は絶対尺度と呼ぶ)上に位置づけ、さらには各年齢や学年の生徒のグ
ループも同一尺度上に位置づける方法である。ここで、1) 能力や学力の分布は正規分布に従う、2) 各年齢
段階の(母)標準偏差は必ずしも等しくない、と仮定する。例えば、年齢Ai 及び年齢Aj のグループの得
点の絶対尺度上での分布が、それぞれN(μi, σ2
i ) 及びN(μj, σ2
j )、検査項目Tk の絶対尺度上での位置をtk
とする。この時、Zik = (tk − μi)/σi、同様にZjk = (tk − μj)/σj を定義すれば、つぎの関係が成り立つ:
Zik = (σj/σi)Zjk + (μj − μi)/σi. (1.1)
したがって、観測された年齢グループAi 及びAj の項目Tk に対する観測された正答率ˆpik 及びˆpjk から、
正規偏差Zik 及びZjk を推定すれば、(1) 式を直線と見なした場合の勾配(σj/σi) 及びy-切片(μj −μi)/σi
をデータ( ˆ Zik, ˆ Zjk, k = 1, 2, . . . , n)から推定できる。ここで、n はグループAi 及びAj の双方でデー
タが得られている項目数である。そうすれば、例えば最低年齢のグループの分布の平均μ1 と標準偏差σ1
をそれぞれゼロ、及び1と決めればすべての年齢グループの分布の平均と標準偏差を推定できる。詳細は、
Thurstone (1925) を参照のこと。また、これにより得られたμj 及びσj(j = 1, 2, . . .)の推定値から、テ
ストによっては、尺度値の絶対ゼロ(absolute zero) を決定できる。この議論についてはThurstone (1928;
Thurstone & Ackerson, 1929) を参照のこと。
比較判断の法則(Thurstone, 1927a, b) は、サーストンの精神物理学的測定に対する考察から生まれた
もので、刺激対象についての(1次元的)尺度構成を以下のように物理学的刺激との対応を仮定することな
しに行おうとするものである。彼は、一対比較法による被験者の対刺激Oj、Ok 間の優劣、軽重、好悪な
CHAPTER 1. 尺度構成の基礎4
どの判断に対して、何らかの(一次元的)心理学的連続体上で弁別過程(discriminal process) vj、vk が生
じ、それらはつぎのように書けると仮定する:
vj = μj + εj, εj ∼ N(0, σ2
j ), vk = μk + εk, εk ∼ N(0, σ2
k)
ここで、μ は尺度値、ε は誤差項である。
これらを用いて、つぎの弁別差異(discriminal difference) ujk が定義できる:
ujk = vj − vk = μjk + εjk. (1.2)
ここで、μjk = μj − μk、εjk ∼ N(0, σ2
j−k)、σ2
j−k = σ2
j + σ2
k − 2ρjkσjσk。また、ρjk はεj とεk との相
関係数である。
この時、Oj がOk より優れている(重い、好ましいなど)と判断される確率は、
Pjk =  ∞
0
1
√2πσj−k
exp−
1
2u − μjk
σj−k 2du = Φ(Zjk). (1.3)
ここで、Zjk = μjk/σj−k とする。また、Φ は単位正規分布の分布関数である。一般にZjk は、いわゆる
正規偏差(normal deviate) あるいはより正確には正規同値偏差(normal equivalent deviate) と呼ばれる。
Zjk とσ2
j−k の関係から、次式のいわゆるサーストンの比較判断の法則が導かれる:
μj − μk = Zjkσ2
j + σ2
k − 2ρjkσjσk. (1.4)
(1.4) 式は、一般には未知数が多すぎて解けないが、例えばサーストンのCase V の仮定(ρjk = 0, σ2
j =
σ2
k = constant, j, k = 1, 2, · · ·,N) に加え、N
k=1 μk = 0、及び(σj−k = 1) なる仮定をすれば、ˆ μ0j
=
1
N N
k=1 Zjk, j= 1, 2, · · ·,N として解ける。なお、Zjk は(1.3) 式からˆ Zjk = zjk = Φ −1( ˆ Pjk), ˆ Pjk =
Njk
i=1 sjki/Njk として推定する。ここで、Njk は(j,k) 対の判断についてのサンプル数であり、sjki は対象
Oj が対象Ok より優れている(重い、好ましい等)と判断される時1、そうでない時0とするものとする。
なお、上の解は統計的推測を行うには不十分で、これを行うには最小ノーミットカイ二乗法(Bock & Jones,
1968) や最尤法(Arbuckle & Nugent, 1973) が用いられる。また、サーストンモデルに対して、ブラッドリー
(Bradley, R. A.) らのBTFL モデル(Bradley- Terry-Ford-Luce model) では、Pjk = sj/(sj + sk) が仮定
される。ここで、sj は対象Oj に対する尺度値である。この時、最尤解はk Njkpjk/ {k Njk/(sj + sk)} となる(Hohle, 1966)。
カテゴリー判断の法則は、サーストンが系列間隔法(method of successive intervals) により得られた
データに対して比較判断の法則を応用したものを、トーガソンが発展させたものである(Bock & Jones,
1968; Saffir, 1937; Torgerson, 1958)。被験者は、n 個の対象のそれぞれをm+1 個のカテゴリーからなる
評定尺度上のいずれかのカテゴリーに該当するとして評定する。このようなカテゴリー判断の場合、次の
2つの弁別過程が生ずると仮定する:
vj = μj + εj, εj ∼ N(0, δ2
j ), vk = τk + εk, εk ∼ N(0, γ2
k)
ここで、μj は対象Oj の尺度値、τk は弁別連続体上の第k カテゴリーと第k +1 カテゴリーの境界点の値
である。また、εj とεk の同時分布は2変量正規分布に従うとする。この時、弁別差異
vjk = vj − vk = μj − τk + (εj − εk), (1.5)
は正規分布に従い、平均と分散はつぎのようになる:
E(vjk) = μj − τk, V(vjk) = σ2
j−k = δ2
j + γ2
k − 2ρjkδjγk.
これらより、被験者が対象Oj を評定尺度の第k カテゴリー以下として評定する確率Pjk は、つぎのよう
に書ける:
Pjk =  0
−∞
1
√2πσj−k
exp−
1
2v − (μj − τk)
σj−k 2dv = Φ(Zjk). (1.6)
CHAPTER 1. 尺度構成の基礎5
ここで、Zjk = (τk − μj)/σj−k とする。
この場合も、一般にはデータ数mn に対して、未知パラメータ数が多すぎて解けない。Torgerson (1958)
は、これらの未知パラメータにいろいろな制約を課した場合のパラメータの求め方について述べている。
また、適当な初期値を与え、最小ノーミットカイ二乗解(Bock & Jones, 1968) や最尤解(Sch¨onemann &
Tucker, 1967) を求めることもできる。 
この節で述べた心理学的尺度構成法では、もはや(心理学的)対象の持つ性質や当該状態の生起する
メカニズムから離れ、均質な集団内での得点の分布や潜在的な一次元尺度上での反応の統計学的分布
の仮定のみから、尺度構成がなされる、
  点に注意が必要である。
ここで取り上げた尺度構成法以外にも、心理学の領域では例えば態度測定の分野で提案されてきたボ
ガーダスの社会的距離尺度(social distance scale) (Bogardus, 1925)、サーストンの等現間隔法(method
of equal-appearing intervals) (Thurstone, 1931)、リッカートの集積評定法(summated rating method)
(Likert, 1932)、ガットマンの尺度分析法(scale analysis) (Guttman, 1944)、クームズの展開法(unfolding)
(Coombs, 1950, 1964) などがあるが、ここでは後に紹介する展開法を発展させた諸手法を除き、多次元尺
度構成法を次節で述べるような狭義の意味で用いるので取り上げない。
1.2.3 多次元尺度構成法
これまで紹介してきた尺度構成法では、対象はすべて一次元連続体(unidimensional continuum) 上に位置
づけらるという暗黙の仮定がなされている。しかし、社会行動科学とりわけ心理学が扱う対象や状態では、
必ずしもこの仮定は成り立たないと見るほうが自然であろう。心理学的尺度構成法で扱う対象や状態は、客
観的な対象や状態そのものではなく、それらに対する人の認知的、感情的、あるいは行動的成分であるの
で、サーストンが指摘しているように(Thurstone, 1927b)、必ずしも物理的大きさやサイズを持つものに
限らない。したがって、それらの内包する連続体の次元数、さらにはそれにより構成される空間構造も心理
学の現状のレベルでは判然としない。ただし、心理学や大脳生理学の進展によっては、例えば対象に対する
好き嫌いは脳内物質を直接客観的に簡単な装置により測定できる日が来れば、1.1 節で述べた温度の測定
のような尺度構成が、可能になるかも知れない。
いずれにせよ、現状ではその次元数や次元の内容が判然としない対象(や状態)を、それらの間の類似
度ないしは非類似度(判断)データをもとに、一般的には次元数及び空間構造が特定された多次元連続体上
に位置づける方法が、多次元尺度構成法(multidimensional scaling、略してMDS) である。ただし、MDS
では、類似度ないし非類似度データをもとに、対象に(多次元の)数値を付与する類似の幾つかの方法に比
べて、対象を位置づける或いは埋め込む空間の数学的構造を厳密に定義し、類似度ないしは非類似度デー
タにフィットさせる点に大きな特徴がある。もちろん、類似度ないし非類似度データをもとに対象に数値を
付与する方法をMDS に含める、いわゆる広義の定義も存在するが、ここでは以下のような狭義の意味での
定義を、MDS とする。以下の定義は高根(1980) による:  
MDS は対象間の(非)類似性の程度を示す測度が与えられたとき、対象を多次元空間内の点として表
し、点間の距離が観測された(非)類似性と最も良く一致するように点の布置を定める方法である。
   一方、千野(1997) は、この節で述べる伝統的なMDS を含む一般的な非対称MDS (asymmetric MDS)
を、距離空間の概念をより明確にする形で、つぎのように定義している:  
非対称MDS とは、非対称(非)類似度行列をもとに、対象間の類似度が何らかの距離空間上の距離の
関数であるという仮定のもとに、観測結果としての(非)類似度データの情報をできるかぎり満たす
ように、各対象を多次元距離空間内の点として位置づける方法である。
  いずれにせよ、MDS の定義からは、観測された(非)類似性データに対して如何なる距離空間(metricspace)
を仮定するかが重要課題となる。MDS の分野では通常いわゆるユークリッド空間(Euclidean space) が、
より一般的にはつぎのミンコフスキーのr メトリック(Minkowski’s r-metric) が仮定される:
djk =  t
a=1
| xja − xka |r
1/r
, (r ≥ 1.0), (1.7)
CHAPTER 1. 尺度構成の基礎6
r メトリックは、数学の分野ではlp ノルム(lp-norm) として知られている。
ミンコフスキーのr メトリックで、例えばr = 1 のときは、市街化計量(city block metric) またはマ
ンハッタン計量(Manhattan metric) と呼ばれる。また、r = 2 のときは、よく知られたユークリッド計量
となる。
MDS は、リチャードソン(Richardson, 1938) のアイディアを、ヤング・ハウスホールダー(Young &
Householder, 1938) やトーガソン(Torgerson, 1952) らが発展させたもので、現在では古典的尺度構成法
(classical scaling) とか計量的MDS (metric MDS))などと呼ばれる。計量的MDS では、あとで見るように
複数の対象間の非類似度が比率尺度、とりわけ対象間のユークリッド距離として推定されている場合に、次
節で述べるヤング・ハウスホルダーの定理(Young-Householder’s theorem) (Young & Householder, 1938)
をもとに、対象を多次元ユークリッド空間の点として位置づける。
1.3 古典的MDS と基礎定理
1.3.1 ヤング・ハウスホールダーの定理
ヤング・ハウスホールダーの定理は、複数の対象間のユークリッド距離が既知の場合、対象が埋め込まれる
空間の次元数(dimensionality) や、それらのユークリッド距離がユークリッド空間上の真の点間距離であ
るための必要十分条件などについて述べたものであり、MDS の基礎定理と見ることができる。
 ここで、N 個の対象O1, O2, . . . , ON のうち、On を原点とし、残りのn − 1 個の対象を終点と
する(列)ベクトルをx1, x2, . . . , xn−1 とする。さらに、対象Oi の第j 軸の座標値をxij とし、行列
X = {xij} を定義しよう。行列X は、n − 1 個の対象の埋め込まれる空間の次元数分の座標値を対象ごと
各行に並べたものである。
この時、この空間の次元数r は、
B = {bij} = XXt, (1.8)
と置けば、r = rank X = rank B となる。行列B は、n − 1 個の対象間の内積(inner product) を要素
とする行列で、内積行列(inner product matrix) である。ここで、(1.8) 式の行列B の要素は、
bij = xti
xj = xi1xj1 + xi2xj2 + · · · + xirxjr, (1.9)
つまり、一般に座標値が既知ならば内積は簡単に(1.9) 式から計算できるが、MDS では対象間の非類似度
データから各対象の座標値を求める必要があり、この式は使えない。
つぎに、ベクトルvij = xj − xi を定義してみよう。この時、このベクトルの長さ(対象Oi とOj 間
のユークリッド距離dij)をユークリッドノルム(the Euclidean norm) を用いて表現すれば、
vij2 = d2
ij = vt
ijvij = (xj − xi)t(xj − xi) = xi2 + xj2 − 2bij . (1.10)
と書ける。これは、よく知られた余弦法則(the cosine law) の一つの表現である。これより、
bij =
1
2
(d2
in + d2
jn − d2
ij). (1.11)
この式は、対象間の距離が既知ならば、対象間の内積が求まることを示しており、これにより計算された
内積行列から対象の座標値を復元しようとするのが、古典的MDS の基本的な発想である。
いずれにせよ、これより対象が埋め込まれる空間の次元数については、 
点間距離dij が既知の(原点をOn とする)複数の点の集合(組)の次元数は、(1.11) 式で定義さ
れるbij を要素に持つn − 1 次の正方行列B の階数に等しい。
  定理では、さらに上記点間距離の組がユークリッド空間上の真の点間距離であるための条件をつぎのよう
に示している:  
dij = dji の組がユークリッド空間の真の点の集合(組)間の相互距離であるための必要十分条件は、
(1.11) 式で定義される要素からなる(内積)行列B が正の半定符号(positive semi-definite)
であることである。
  実際、B が正の半定符号ならば、行列B の固有値(eigenvalue) はすべて正かゼロであり、われわれはこの
CHAPTER 1. 尺度構成の基礎7
行列を
B = OD2Ot = (OD)(OD)t = AAt, (1.12)
と固有値分解(eigenvalue-eigenvector decomposition) すればよい。ここで、行列D2 は対角行列で、対
角要素には行列B の固有値が並ぶ。(1.12) 式はB = XXt に注意すれば、X = USV t と特異値分解
(singular value decomposition) するのと同等である。なお、固有値分解については、Wilkinson (1965)、
Lancaster & Tismenetsky (1985) が詳しい。一方、特異値分解については、Lawson & Hanson (1974) 及
びStewart & Sun (1990) が参考になる。
ヤング・ハウスホールダーの論文の脚注を見ると、彼らの論文は(MDS のアイディアを最初に提案し
た)リチャードソン(M. W. Richardson) 、及びガリクセン(H. Gulliksen) の示唆に答えるために書かれ
た、とあり、MDS に対するリチャードソンの貢献の大きさがしのばれる。
ところで、行列B は対象On を原点とした場合の内積行列であり、どの対象を原点に取るかで行列A
は異なる、すなわち対象の座標値は異なるが、対象間距離に誤差が含まれない場合は、対象の配置は原点と
軸の回転を除き不変である。ただし、現実のデータの場合、対象間距離の推定値には誤差が含まれるので、
特定の対象を原点に選ぶことは好ましくない。これを避ける1つの方法は、原点を対象の重心にとることで
ある。これを行うには、対象間距離(の推定値)を要素とするn 行n 列の行列T = ˆ d2
ij が得られたら、
つぎに示す中心化行列(centering matrix) (Horst, 1965):
Gn = In −
1
n
1n 1n
t, (1.13)
を用いて、n 個の対象の重心を原点とするつぎのような内積行列を計算する:
Bc = −
1
2GnTGt
n. (1.14)
ここで、行列Gn 及びBc は、共にn 行n 列の行列であり、1n は、1 ばかりがn 個並んだ列ベクトル
である。また、In はn 次の単位行列(unit matrix) もしくは恒等行列(identity matrix) である。さらに、
Gn は具体的には、つぎのように書ける:
Gn =

1 − 1
n −1
n −1
n · · · −1
n −1
n
−1
n 1 − 1
n −1
n · · · −1
n −1
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
−1
n −1
n −1
n · · · −1
n 1 − 1
n

. (1.15)
さて、行列Bc が計算できたならば、あとはこれをつぎのように分解すれば、
Bc = XcXc
t, (1.16)
得られたn 行r 列の行列Xc は、Bc が正の半定符号であれば、n 個の対象の重心を原点とする各対象の
r 次元ユークリッド空間内の座標値を要素とする行列と見做せる。
1.3.2 エッカート・ヤングの定理
ヤング・ハウスホールダーの定理と並びMDS の基礎定理の1つとみなされる定理が上記特異値分解、と
りわけエッカート・ヤングの定理(Eckart & Young, 1936) である。特異値分解は、19世紀の後半に発見
されたものであるが、その後この分解は多くの研究者により再発見されたり、拡張されている(Stewart &
Sun, 1990)。現在では、特異値分解は複素行列の場合にも拡張されているが、ここでは実数行列の場合につ
いてのみ紹介する。ここで、行列A をm 行n 列の階数r の行列とする。この時、行列A は、
A = USV t, (1.17)
と分解でき、特異値分解と呼ばれる。ここで、行列U 及びV はそれぞれm 次及びn 次の直交行列
(orthogonal matrix) である。また、行列S はm 行n 列の対角行列で、非負の値を取り、特異値と呼ばれ
る。これらのうち、k 個は正である。ここで、通常の対角行列は正方行列であるが、この場合は矩形行列で
ある点に注意が必要である。なお、ここでの分解は最大階数(full rank) 分解である。
CHAPTER 1. 尺度構成の基礎8
エッカート・ヤング(Eckart & Young, 1936) は、特異値分解はを正方行列から矩形行列の場合にに一
般化し、かつ任意の矩形行列をそれより階数の低い他の行列で近似した場合の階数r のベストフィット行列
を求める問題に利用し、ベストフィット行列はその矩形行列の特異値分解を用いて得られることを示した。
特異値分解は、上に述べたように古典的MDS でも固有値分解の変わりに使えるし、後に簡単に紹介す
る個人差MDS の1つであるタッカー・メシックのPVA (the Point of View Analysis) (Tucker & Messick,
1963) でも用いられている重要な定理である。
1.3.3 古典的MDS における対象間距離の推定方法と加算定数
ヤング・ハウスホールダーの定理から、われわれは複数の対象間のユークリッド距離がわかれば対象の多次
元空間上への位置づけ、すなわち各対象の座標値を求めることができることはわかったが、それではそのよ
うな対象相互の距離をどのようにしたら推定することができるであろうか。例えば、トーガソン(Torgerson,
1958) は、つぎのような方法を提案している。
彼は、まずマンセルの色立体を構成する色刺激の中から色相はすべて同じ赤で明度と彩度の異なる9刺
激を選び出し、被験者に完全三組法(complete method of triads) により刺激間の類似度判断(similarity
judgment) を求めた。ここで、完全三組法とは複数の刺激対象間の類似度を2対間の比較ではなく3対間
で行う方法で、3つの刺激をi、j、k とすれば、被験者には例えば「刺激i は刺激j と刺激k のどちらに
より似ているか」と尋ねる。この種の判断を複数の被験者に対して行うことにより、われわれは「刺激i が
刺激k に比べてより刺激j に似ている」と判断された比率i ˆ Pjk を観測できる。一般に、このような3対の
選び方は、刺激数をn とすれば1
2n(n − 1)(n − 2) 通りある。
トーガソンの古典的MDS では、これらの比率を手にしたとして、つぎにすべての刺激間の距離の差
idjk = dik − dji, (1.18)
を推定する。
つまり、われわれはここではまず完全三組法により得られた「刺激i が刺激k に比べてより刺激j に
似ている」という判断比率データから、刺激を埋め込むべき何らかの心理学的空間内での刺激間の距離dik
とdji の差を推定しようというわけである。
そのために、トーガソンは、1.2.2 節でふれたサーストンの比較判断の法則を上述のデータに対して適用
することを考えた。比較判断の法則を完全三組法により得られる刺激間の類似度判断比率i ˆ Pjk の問題に適
用すると、サーストンのいうCase V 条件のもとでは、iPjk と(1.18) 式で与えられる刺激間距離の差idjk
との間には次の関係が成り立つ:
iPjk =  idjk
−∞
1
√2π
exp (−
1
2x2) dx. (1.19)
(1.19) 式における左辺の比率は理論比率であり、一方上述の完全三組法により得られる比率は観測比率
i ˆ Pjk でしかないので、われわれが(1.16) 式により手にするのは、(1.18) 式の左辺のidjk そのものではな
くその推定値i ˆ djk に過ぎないことに注意したい。
いずれにせよ、このようにしてわれわれが刺激間距離の差の推定値i ˆ djk を手にしたならば、それらの
推定値から刺激間の真の距離を推定する必要がある。Torgerson は、これを(1.18) 式により得られるすべ
ての推定値i ˆ djk を用いて最小2乗法(least squares procedure) により求めることを提案した。
ただし、この方法により得られる刺激間距離の推定値ˆ djk は、必ずしも正確な距離空間の特性を備えて
いない。というのは、この方法により得られる距離の推定値は必ずしも絶対原点(absolute origin) からの
距離ではないのである。Torgerson は、このようにして得られる距離を、絶対原点からの距離と区別して、
比較距離(comparative distance) と呼んでいる。
一般に距離空間の特性を備えている距離djk と比較距離hjk との間にはつぎの関係が成り立つ:
djk = hjk + c. (1.20)
ここで、定数c をTorgerson は加算定数(additive constant) と呼んだ。
最も簡単な加算定数推定の方法は、トーガソン(Torgerson, 1952)によるもので、つぎのようである。
ここで、真の距離djk についてはユークリッド空間の場合、もし3対象が直線上にあれば、dik = dij +djk
が成り立つので、この式と(1.20) 式からc = hik − hij − hjk とすればよい。実際にはそのような3点ある
とは限らない。そこで、(直線上にない)3対象間の距離について三角不等式が成り立つことを利用し、こ
CHAPTER 1. 尺度構成の基礎9
れに(1.20) 式を適用し整理すると、c ≥ hik − hij − hjk が成り立つので、すべての3つの刺激組について
hik − hij − hjk の最大値c1 を計算し、c1 を加算定数の下限とみなす。すなわち
c ≥ c1 = max (hik − hij − hjk), (1.21)
さらに、(1.20) 式から対象間の真の距離djk が負にならないとの制約を課すと、すべての2つの刺激に関
する比較距離hjk の符号を反転したものの最大値をc2(すなわち、c2 = max(−hjk))として、
c = max (c1, c2), (1.22)
とすればよい。その後、加算定数を求める新たな方法が提案されている(例えば、Messick & Abelson, 1956;
Saito, 1978)。
1.3.4 対象間距離からの布置回復例
(a) 架空データ例
ここでは、前節の(1.19) 式の意味での真の距離djk の二乗値が、表1.1 のようになったと仮定する。この
場合、4つの対象を頂点とする図形はひし形をなす。このデータすなわち対象間距離から、各対象の座標値
を計算し(布置の回復)、布置から逆算した対象間距離の二乗値が表1.1 の距離の二乗値に一致することを
示そう。この表の行列をT と見なして、前節の行列Bc を計算すると、
Table 1.1: 4つの刺激間の距離の推定値の2乗の架空の例
色 1 2 3 4
1 0 5/4 1 5/4
2 5/4 0 5/4 4
3 1 5/4 0 5/4
4 5/4 4 5/4 0
2Bc =

.50 .00 −.50 .00
.00 2.00 .00 −2.00
−.50 .00 .50 .00
.00 −2.00 .00 2.00

,
となる。
つぎに上の2Bc を固有値分解すると、固有値は4.0 及び1.0 で残り2つはゼロとなる。したがって、
非ゼロ固有値を対角要素に並べた行列Λ は、
Λ =  4.0 0.0
0.0 1.0 ,
一方、これらの固有値に対応する固有ベクトルを列に持つ行列Y c は、
Y c =

0.00000 0.70711
0.70711 0.00000
0.00000 −0.70711
−0.70711 0.00000

.
これらより、2Bc を(1.16) 式の右辺のような形にするには、Y c の第1行のすべての要素には第1固
有値の平方根2.0 を、同じく第2行のすべての要素には第2固有値の平方根1.0 を掛ければよい。この操
作は、行列表現ではY c Λ12
と書けるので、
Y c Λ12
=

0.00000 0.70711
1.41422 0.00000
0.00000 −0.70711
−1.41422 0.00000

,
CHAPTER 1. 尺度構成の基礎10
となる。上の行列の各行が表1.1 の2乗距離行列T から(1.16) 式を用いて計算された4つの刺激の布置
である。明らかにこの布置は、布置座標全体を1/1.41422 倍し、4つの色の間の点間ユークリッド距離の
二乗を計算すると、表1.1 のそれらに完全に一致する。
(b) 都市間距離の例
 つぎの例は、Kruskal & Wish (1978) にある10都市間の飛行マイル数から都市についての地図を再構成
する例である。このデータは、SAS のMDS プロシジャに関するマニュアルの中の最初の例としてプログ
ラムつきであげられており、ここではそれをそのまま以下に引用する(SAS Institute, 1999):  
data city;
title ’Analysis of Flying Mileages Between Ten U.S. cities’;
input (atlanta chicago denver houston losangeles miami newyork
sanfran seattle washdc) (5.) @56 city $15.;
datalines;
0 Atlanta
587 0 Chicago
1212 920 0 Denver
701 940 879 0 Houston
1936 1745 831 1374 0 Los Angeles
604 1188 1726 968 2339 0 Miami
748 713 1631 1420 2451 1092 0 New York
2139 1858 949 1645 347 2594 2571 0 San Francisco
2182 1737 1021 1891 959 2734 2408 678 0 Seattle
543 597 1494 1220 2300 923 205 2442 2329 0 Washington D.C.
;
proc mds data=city level=absolute out=out;
id city;
run;
%plotit(data=out,datatype=mds,labelvar=city,vtoh=1.75,labfont=swissb);
run;
  最後のマクロは、グラフイックオプションがインストールされている場合には、きれいな刺激布置を出力す
るが、インストールされていない場合は、このマクロの代わりにprint プロシジャで一時ファイルout の
内容を出力させると、布置座標のみはつぎのように出力する:  
Analysis of Flying Mileages Between Ten U.S. cities
Badnessof-
Fit Change in Convergence
Iteration Type Criterion Criterion Measure
--------------------------------------------------------------
0 Initial 0.003273 . 0.8562
1 Lev-Mar 0.001689 0.001584 0.005128
Convergence criterion is satisfied.
OBS _DIMENS_ _TYPE_ city _NAME_ Dim1 Dim2
1 2 CRITERION 0.00 .
2 2 CONFIG Atlanta atlanta 717.82 142.251
3 2 CONFIG Chicago chicago 382.27 -341.504
4 2 CONFIG Denver denver -481.62 -25.515
5 2 CONFIG Houston houston 161.74 572.424
6 2 CONFIG Los Angeles losangeles -1203.57 382.927
7 2 CONFIG Miami miami 1132.65 578.403
8 2 CONFIG New York newyork 1072.89 -515.601
9 2 CONFIG San Francisco sanfran -1419.84 108.687
10 2 CONFIG Seattle seattle -1342.01 -568.788
11 2 CONFIG Washington D.C. washdc 979.65 -333.285
  なお、上記結果はSAS の出力の一部を削除したものである。また、plotit マクロによるプロット結果は、
図1.1 に示す。
CHAPTER 1. 尺度構成の基礎11
 
図1.1 Kruskal & Wish (1978) の都市間のマイル数データの2次元布置(当日提示)
 
(c) マンセルの色立体の例
最後の例は、マンセル色立体(Munsell Color Solid) に対するMDS の応用例である。CIE (Commission
Internationale de l’Eclairage, 国際照明委員会) によるCIE 表色系が光源や物体からの色刺激の特性を測色
学的な手続きにより表すのに対して、マンセル表色系では周知のように物体表面の色の見え(知覚色)を色
の3属性(色相(hue)、明度(value)、彩度(chroma))に従って3次元空間の点として表す(大山他、1994)。
マンセル色立体では、色相についてはまず基本となる赤(R)、黄(Y)、緑(G)、青(B)、紫(P) の5色
が円周上に等間隔に配置され、つぎにそれぞれの2分点に中間色が配置され合計10分割されている。さら
にそれぞれは知覚的に等間隔となるように調整され100分割されて環状に配置されているので、色相環
と呼ばれる。一方、明度に関しては理想の黒を0、理想の白を10としてその間が知覚的に等間隔になるよ
う等分されている。また、彩度については無彩色を0、最も彩度の高い色票を10として等分されている。
したがって、明度を一定とするときの色相と彩度の異なる色は、平面状の同心円と中心からの放射状の
直線の交点に位置づけられる。ここで、同心円の半径の長さが彩度の大きさに対応する。
トーガソン(1951) は、色相(赤)を一定として明度と彩度を変えた9色に対して、被験者に完全三つ
組み法で色票間の類似度判断を求め、彼の提案した古典的MDS により9色のマンセル色立体上の布置が
再現されるかどうかを検討した(Torgerson, 1958)。MDS により得られた9色の布置(図1.2)は、マンセ
ル色立体上のそれらの布置と近いものとなった。 
図1.2 Torgerson (1951) のマンセル色立体上の9色の2次元布置(当日提示)
  マンセル色立体については、その後多くの研究者が古典的MDS 等を用いており、とりわけ印東は、自らの
実験も含めたトーガソン以来のマンセル色に関する19の実験データの検討結果から興味深い推論を行って
いる(Indow, 1988)。彼は、トーガソンの方法をリーマン空間の場合に拡張したDMRPD (Direct Mapping
in Riemannian space through Power-transformed Distance) を提案し(Indow, 1983)、図1.3 のような興
味深い結果を得ている。この図は、Indow & Aoki による、明度を一定とした178色の色刺激のDMRPD
による2次元ユークリッド布置である(Indow, 1988)。ここでのstress 値は、次節で述べるクラスカルの
ノンメトリックMDS におけるモデルのフィットの良さの指標と形式的には等しいが、クラスカル流のいわ
ゆる単調回帰法を適用したわけではない(例えば、Indow & Watanabe, 1988)。 
図1.3 Indow-Aoki によるマンセル色立体上の色刺激の2次元ユークリッド布置(当日提示)
  図1.3 が、視空間としてユークリッド空間を仮定した場合の布置であるのに対して、図1.4 はリーマン空間
(とりわけ曲率が正の場合)を仮定した場合の布置で、データの当てはまりは必ずしもベストではないが、
色刺激の布置はよりマンセル色立体上の布置に近づいていることがわかる。 
図1.4 Indow-Aoki によるマンセル色立体上の色刺激の正の曲率を持つリーマン空間を仮定した場合
の2次元布置(当日提示)
  この結果は、ルーンブルクらの提案した両眼視空間のリーマン空間モデル(例えば、Blank, 1953; Luneburg,
1950) に対する興味深いデータを提供する。
Chapter 2
多次元尺度構成法の展開
 
第1章では、尺度構成の基礎について述べた。この章では、そこで紹介した尺度構成法の基礎に基づき
60年代以降計量心理学の分野で提案されてきた主要な多次元尺度構成法を取り上げ、それらの方法
がどのようにして複数の対象を多次元尺度上に位置づけるかについて、基本的な考え方についてのみ
述べる。多次元尺度構成法は既に60年以上の研究の歴史があり、もちろんここでそれらすべてにつ
いて紹介することは不可能であるので、それらについては、高根(1980)、斉藤(1980)、Cox & Cox
(2001) などを参照されたい。
最初に取り上げるのは、ノンメトリックMDS である。古典的MDS では、最終的に手にすべき対
象間の(非)類似度データは、原則として比率尺度レベルで得られていないといけないが、この制約
をはずしデータは順序尺度レベルで得られていることを前提としたMDS が何人かの研究者により60
年代から提案され出した。ここでは、それらのうち、クラスカルのMDSCAL、ガットマン・リンゴーの
SSA を紹介する。ノンメトリックMDS では、観測データは順序データであるが、もちろん対象は多次
元距離空間内の点として位置づけられることに注意が必要である。
つぎに個人差MDS について取り上げる。心理学等の社会行動科学の領域では、対象に対する認知
や感情に個人差がつきものである。この点を考慮するのが60年代から70年代にかけて提案された個
人差MDS である。個人差MDS では、対象に対する多次元布置は対象を認知する個人によりゆがむと
仮定し、何らかの方法で対象の布置のゆがみを表現する。ここでは、代表的な個人差MDS としてタッ
カーとメッシックのPVA と、キャロルとチャンのINDSCAL を取り上げる。
70年代の後半には、高根らが古典的MDS、ノンメトリックMDS、及び個人差MDS などを1つの統
一的なアルゴリズム上で実現する方法ALSCAL を提案した(Takane, Young, & De Leeuw, 1977)。
ALSCAL では、データのタイプは比率尺度、間隔尺度、順序尺度、名義尺度を仮定し、各種類似度・非
類似度データに対するMDS が可能である。現在では、例えば国際的な統計ソフトの1つであるSAS
にもMDS プロシジャの中で、ほぼ実現できる。
70年代から80年代にかけては、それまでの最小二乗的方法によるMDS にかわり、誤差に何ら
かの分布を仮定し、最尤法を用いて対象の布置等の未知パラメータを推定する最尤MDS がラムジー
や高根らにより整備されてきた。ここではそれらのうち、ラムジーによるMULTISCALE と高根による
MAXSCAL について紹介する。最尤MDS を用いると、各対象の布置座標の(漸近的)信頼領域を求め
たり、尤度比検定やAIC による布置の次元数の検討も可能になる。もっとも、そのためには誤差分布
の仮定が正しくなければならない。
古典的MDS 以降の上記の主要なMDS の他にも、興味深い方法が幾つかある。ここではそれらの
うち、多次元展開法、内積モデルを紹介する。まず、展開法は通常のMDS と異なりデータは対象間の
(非)類似度データを正方行列にまとめたものではなく、複数刺激や対象に対する複数個人の選考デー
タから、刺激・対象及び個人を同一の多次元距離空間上に位置づける方法であり、データは矩形行列に
まとめられる。展開法は、最初クームズにより50年代に始められたもので、一次元順序尺度構成の
方法としてスタートしたが、その後60年代から70年代にかけて非計量的展開法や計量的展開法へ
と発展したものである。ここでは、最初のクームズの展開法の考え方と、シェーネマンによる計量的
展開法についてのみ紹介する。
従来のMDS では、対象間の(非)類似度に対して多次元距離空間上の距離を当てはめるモデルが
主流であったが、対象相互の距離の比推定結果から対象間の内積を直接推定する内積モデルも存在す
る。ここでは、エックマンの多次元比(率)尺度構成法について簡単に紹介する。最後に、MDS の最
近の展開の1つとして非対称MDS に若干言及する。
 
12
CHAPTER 2. 多次元尺度構成法の展開13
2.1 トーガソン以降の主要なMDS
2.1.1 ノンメトリックMDS
古典的MDS では、データとしての対象相互の非類似度に比率尺度が仮定されているが、心理学の分野で
はそのようなデータはきわめて稀である。これに対して、1960 年代から1970 年代にかけて、対象相互の
(非)類似度が順序尺度レベルで測定されているデータに対するMDS が何人かの計量心理学者により開発
された(Guttman, 1968; Kruskal, 1964a, 1964b; Lingoes, 1973; Shepard, 1962a, 1962b)。それらは非計量
的MDS と呼ばれている。例えば、Kruskal のMDSCAL では、つぎのストレス(stress) という量
S =
j<k
(djk − ˆ djk)2
j<k
djk
2 , (2.1)
を定義し、Sを最小にするような対象の布置を求める。ここで、ˆ djk は、この値が観測された対象j から
対象k への非類似度δjk と同順位になるという条件下で、Sを最小にする数値である。
より正確には、MDSCAL では原則的には対象間の距離djk が観測された非類似性の値δjk と可能な限
り弱単調な関係、すなわち 
δjk がδlm より小ならば、djk はdlm 以下となる、
  ように、対象の布置を定める。しかし、観測値には誤差がつきものであるので、これを完全に満たすような
布置が存在するとは限らない。そこで、(真の)対象間距離に誤差が加わったˆ djk、すなわちˆ djk = djk +εjk
を考え、このˆ djk が観測される非類似性の値δjk と厳密な意味で単調関係にあると考える。つまり、
 
δjk がδlm より小ならば、ˆ djk はˆ dlm 以下となる、
  この時、上記の誤差εjk は単調性からのずれと見なせる。(2.1) 式のストレスは、単調性からのずれをデータ
全体で考えるものである。これを最小にするような方法は、最小二乗単調回帰法(least squares monotonic
regression) と呼ばれている。
MDSCAL では、対象を位置づけるべき距離空間としては、市街化距離やユークリッド空間を含む上述
のミンコフスキーのr メトリックの定義された空間を仮定する。
図2.1 は、Indow (1988) に掲載されているIndow & Ohsumi (1972) の60色のマンセル色立体上の色
刺激のMDSCAL による2次元布置である。 
図2.1 Indow & Ohsumi (1972) のマンセル色立体上の60色の2次元布置(当日提示)
  また、図2.2 は、この布置でのdjk とˆ djk のプロット結果であり、やはりIndow (1988) に掲載されている
ものである。 
図2.2 Indow & Ohsumi (1972) の2次元布置におけるdjk とˆ djk のプロット(当日提示)
  Kruskal とほぼ同時期に彼とは異なる方法で、順位データに対するMDS、SSA を開発したのがGuttman
とLingoes である。SSA では、MDSCAL のr メトリックをも含む準計量(semi-metric)
djk = d[(xj1 − xk1)2, (xj2 − xk2)2, · · · , (xjr − xkr)2], (2.2)
を持つ空間を仮定する。
SSAでは、つぎの単調性係数(coefficient of monotonicity)
μ = j<k
ejk ˆDjkdjk
j<k
ejk ˆD2
jkj<k
ejkd2
jk
, (2.3)
CHAPTER 2. 多次元尺度構成法の展開14
を最大にするような対象の布置を求める。ここで、Djk は観測された非類似度δjk の順位に関する情報Djk
(SSAでは、これを距離順位数distance ranking number と呼ぶ)であり、ˆDjk はDjk の順位を反映す
ると制約づけられた量である。また、ejk はδjk が欠測値であれば0、存在すれば1 なる量である。μ を最
大化することは、K = 1 − μ2 を最小化することに等しい。K は離間係数(coefficient of alienation) と
呼ばれ、近年のプログラムではこちらが使われている。SSA には、SSA-I、SSA-II、などデータの性質に応
じてたくさんのプログラムが用意されており、Lingoes (1973) のGuttman-Lingoes Program Series として
まとめられている。例えば、SSA-II は、非対称行列に対して、行解と列解という2種類の解を求めること
により対応する。この点で、SSA-II は非対称MDSの1つと考えられなくはない。
その後、後で述べるTakane, Young, & De Leeuw (1977) はトーガソン以降に提案された多くのモデル
を統一的なアルゴリズムで解くALSCAL を提案したが、その中には、クラスカルの単調回帰のアルゴリズ
ムを用いて順序データの場合の対象の布置を求めるアルゴリズムも含まれている。一方、SAS ではMDS
プロシジャにより、最適化の方法がALSCAL とは若干異なるが、ALSCAL の多くのモデルが適用できる。
また、やはりのちに最尤MDS の1つとして述べるTakane (1981) の方法でも、ノンメトリックMDS が
その中の1つのオプションとして組み込まれている。
2.1.2 個人差MDS
対象相互の非類似度行列が、個人により異なる場合、それらをΔ1, Δ2, . . . , Δm とする。各行列は一
般にn 個の対象(刺激)に関するn 行n 列の非類似度行列である。そのような個人差を考慮するMD
Sは、個人差MDS と呼ばれる。よく知られた個人差MDS には、既に1.3.2 節でその名前を紹介した
Tucker & Messick (1963) のPVA と、Carroll & Chang (1970) のINDSCAL (INdividual Differences
multidimensional SCALing) がある。
PVA は、まず複数の非類似度行列のそれぞれをn(n − 1)/2 行からなる列ベクトルとして配列し直し、
それらをm 個分並べてn(n − 1)/2 行m 列の行列X を作成する。つぎに、内積行列Σ = XtX を計算
し、エッカート・ヤングの定理により分解し、m 次以下の(ベストフィット)行列ˆX p を得る。最後に行列
ˆX
p を単純構造となるよう回転しFp とする。得られた行列の各列は非類似度判断の1つの「視点」(a view
point) と見なされる。PVA の第1ステージは、これらの「視点」を抽出することにある。第2ステージで
はある種の折衷行列Ta, a = 1, 2, . . . , p がF の(i, a) 要素fia を用いて、つぎのように計算される。
Ta =
1
m
m
i=1
fia Δi, (2.4)
最後に、得られた上記Ta, a = 1, 2, . . . , p のそれぞれに対して通常のMDS が施され、p 個の「視点」
に対応するp 個の対象の布置が得られる。
Ross (1966) は、PVA は時々負のウエイトfia が含まれ、その結果として非ユークリッド解が得られる
ことを指摘している。また、Meulman & Verbon (1993) は、この負のウエイトを避ける手続きを提案して
いる。
一方、Carroll とChang は、通常のMDSにおける対象を埋め込む空間(これを彼らは刺激空間stimulus
space と呼ぶ)は個人を越えて共通であり、個人による対象相互の非類似度の差異は刺激空間に対するウエ
イトが個人によって異なることによるとするモデルを考えと呼んだ。INDSCAL では、データは原則的に
比率尺度レベルの非類似度データとして得られていることを仮定し、各個人ごとの非類似度行列を(1.14)
式を用いて内積行列
Bi = {bijk}, i= 1, · · ·,m, (2.5)
に変換し、次の量
φ2 =
m
i=1
n
j=1
n
k=1bijk −
r
t=1
witxjtxkt2
, (2.6)
を最小にするような布置を求める。結局このモデルでは、重み付きユークリッド距離(weighted Euclidean
distance)
dijk =
r
t=1
wit(xjt − xkt)2, (2.7)
を仮定していることになる。
CHAPTER 2. 多次元尺度構成法の展開15
次節で述べるALSCAL では、間隔尺度及び比率尺度等の場合に拡張されたINDSCAL モデルがオプ
ションの1つに組み込まれている。 
図2.3 Carroll & Chang (1970) の12カ国の刺激布置と被験者布置
 
2.1.3 ALSCAL
Takane et al. (1977) は、Torgerson 以来の各種データ及び名義データに対する広範なモデルを交互最
小2乗法(alternating least squares method) で解くアルゴリズムを提案した。彼らの方法はALSCAL
(Alternating Least Squares algorithm for individual differences sCALing) と呼ばれ、つぎの量を最小化
する:
τ2 =
m
i=1
n
j=1
n
k=1
( ˆ d2
ijk − d2
ijk)2
. (2.8)
ここで、ˆ d2
ijk は、特定の観測特性の下で最適変換されたデータである。また、ここでのdijk は、(2.7) 式
のそれに等しい。もちろん、重み付きユークリッドモデルのウエイトがすべて等しいときは、単純ユーク
リッドモデルに帰着される。
ALSCAL では、上記τ2 をˆ d2
ijk とd2
ijk に関して交互に最小化しながら、全体として最小を求める方式
を取る。ALSCAL では、データのタイプには比率尺度、間隔尺度、順序尺度、名義尺度の4つのオプショ
ンが、データの形には対称で非類似度、対称で類似度、非対称で非類似度、非対称で類似度、矩形で非類
似度、矩形で類似度の6つのオプションが、測定条件にはマトリックス条件付き、行条件付き、無条件の
データ行列についての3つのオプション等が、選べる。また、モデルタイプとして、単純ユークリッドモデ
ル、個人差モデル、多重過程非対称モデル(multiprocess asymmetric model)、多重過程非対称個人差モデル
(multiprocess asymmetric individual differences model) が選べる(ALSCAL・4ユーザズガイド(Young
& Lewyckyj, 1979))。ここで、多重過程とは非類似度行列の1つの生成過程に対してつけられた概念であ
り、(評定者としての)各対象に対応する(例えば)各行の非類似度が異なる被験者により生成された場合
を指す。これに対して、すべての行が同一被験者により生成された場合は、単一過程(single process) と呼
ばれる(Young, 1975)。
一方、SAS のMDS プロシジャでは、ALSCAL 及び次節で述べるラムゼイのMULTISCALE (Ramsay,
1977, 1982) の多くの特徴を実現しているが、未知パラメータの推定方法に関しては、非線形最小2乗法を
用いており、ALSCAL の交互最小2乗法と若干異なる(SAS Institute, 1999) 。データのタイプ(LEVEL
オプション) は、絶対尺度、比率尺度、間隔尺度、対数間隔尺度、順序尺度の5つのオプションが用意され
ている。一方、データの型(SHAPE オプション)では三角型、正方型の2つのオプションがある。また、
行列のタイプ(COEF オプション)として単位、及び対角型があり、それぞれ単純ユークリッド距離モデル
や重み付きユークリッド距離モデルに対応している。Version 8のオンラインドキュメントによれば、MDS
プロシジャでは、とりわけFIT オプションで2乗距離(SQUARED) を選択し、さらに1、2のオプショ
ンを選択すると、ALSCAL とほぼ同様の結果が得られるという(SAS Institute, 1999)。
2.1.4 最尤MDS
Takane et al. (1977) までの従来のMDSでは、未知数としての対象の多次元空間での座標値の推定には、
最小2乗法もしくは固有値問題の解法が用いられてきた。ここで、固有値問題の解も最小2乗的特性を持
つ(Stewart & Sun, 1990) ことに注意すると、従来のMDSでの座標値は、最小2乗的に推定されてきた
と言ってよい。
これに対して、70年代の後半からは、座標値の推定に最尤法(maximum likelihood method) を用いる
MDSが幾つか提案されだした(Ramsay, 1977, 1978, 1982; Takane, 1978a, 1978b, 1981; Takane & Carroll,
1981)。ここでは、まずその中で礎石となったRamsay (1977) について紹介する。
最尤法を用いるMDS、すなわち最尤MDS (maximum likelihood MDS) では、方法の性格上誤差に
対して何らかの分布形を仮定する必要がある。この問題については、もちろんRamsay (1977) 以前にも、
たとえば対象の多次元空間での座標値に正規分布を仮定したモデルが提唱されている(Suppes & Zinnes,
1963; Ramsay, 1969)。しかしながら、このアプローチは、Zinnes and Griggs (1974) が、彼らの確率的展
開法(probabilistic unfolding) を定式化するまで、まったく成功の例を見ていなかった。
CHAPTER 2. 多次元尺度構成法の展開16
これに対してRamsay (1977) は、観測非類似度δjkr に対して対数正規分布の仮定を置き、最尤法によ
り対象の座標値を推定する方法を提案した。すなわち、この方法ではまずδjkr の分布を次式で定義する:
ln δjkr ∼ N(ln djk, σ2). (2.9)
ここで、添字r は、対象の対(j, k) の非類似度に対する第r 番目の繰り返し判断であることを表す。
この時、δjkr の密度関数は
f(δjkr) =
1
√2π σδjkr
exp−[ln (δjkr/djk)]2
2σ2 , (2.10)
で与えられる。
これより、対数正規分布の仮定のもとでデータの得られる尤度は
L =
n
j=1
n
k=1
R
r=1
f(δjkr), (2.11)
で与えられる。もちろん尤度の定義から、L は欠測値を除いたものとして差し支えない。
Ramsay は、彼のプログラムをMULTISCALE と呼ぶ。MULTISCALE における距離の定義は、
INDSCAL やALSCAL と同じ(2.7) 式の重み付きユークリッド距離に等しく、ALSCAL と同様その特殊
ケースとして単純ユークリッド距離モデルを含む。既述の(2.7) 式は、右辺を行列表現すれば、
dijk = (xj − xk)tWi (xj − xk), (2.12)
と書けるが、Ramsay (1982) は、これを行列Wi が単位行列、対角行列(diagonal matrix)、もしくは半
定符号かにより、単位計量(identity metric)、対角計量(diagonal metric)、フルメトリック(full metric)
の3種類に分類して区別している。
最尤MDSの最小2乗MDSに比べてのメリットは、次元数の統計的検定や各対象の多次元空間内で
の推定座標値に対する信頼領域(confidence region) を描ける点であろう。もちろん、これらのメリット
を享受するためには、データが分布の仮定に適合していなければならない。最尤MDSにおける対象の
布置座標値の信頼領域の推定の基礎は、一般に母数θt = (θ1, θ2, . . . , θk)t に対する(同時)最尤推定量
ˆθ
= (ˆθ1, ˆθ2, . . . , ˆθ2)t
が、漸近的に平均θt、共分散行列I−1(θt) を持つ多変量正規分布に従うことを利用
することにある。ここで、行列I(θt) は、情報行列(information matrix) であり、
I(θt) = E∂lnL(θ)
∂θr
∂lnL(θ)
∂θs θ=θt = −E ∂2lnL
∂θr∂θsθ=θt (2.13)
実際には、この主のMDS では未知パラメータである対象の布置座標は座標軸の回転と移動に関して自由
なので、この結果をそのまま(漸近的)信頼領域の計算に用いることはできず、パラメータの推定時に工夫
が必要である。詳細はRamsey (1978) を参照のこと。
一方、Takane (1981) はトーガソンのカテゴリー判断の法則を利用し、系列カテゴリー法(M 個のカテ
ゴリーから成るとして)による対象相互の(非)類似度判断データから、最尤法により対象の多次元布置を
求める方法MAXSCAL (MAXSCAL2.1) を提案した。ここで、対象対(Oj, Ok) に対する被験者i の機
会t での類似度(観測(非)類似度そのものではない)をλ(t)
jki と書くとして、高根は表現モデルとして単
純ユークリッド距離モデルを仮定し、さらに加法的モデル(additive model)
λ(t)
jki = djk + ε(t)
jki, ε(t)
jki ∼ N(0, σ2
k), (2.14)
と乗法的モデル(multiplicative model)
λ(t)
jki = djk ε(t)
jki, lnε (t)
jki ∼ N(0, σ2
k), (2.15)
を考える。後者の誤差モデルは、ラムジーの最尤MDS における対数正規分布を仮定したモデルと同じで
ある。
CHAPTER 2. 多次元尺度構成法の展開17
つぎに、系列カテゴリー間の境界値を小さい順にbi1, bi2, . . . , bi M−1 とし、さらにbi0 = −∞, biM = ∞ と書けば、被験者i が対象対(Oj, Ok) の(非)類似度が第m カテゴリーに属すると判断される確率Pjkim
は、
Pjkim =  bim
bi m−1
g(λjki) dλjki. (2.16)
ここで、g(λjki) はλjki の密度関数とする。この時、例えば加法的モデルの場合、
Pjkim =  ajkim
ajik m−1
f(z) dz. (2.17)
ここで、f(z) は単位正規分布の密度関数であり、
z = (λjki − djk)/σi, ajkim = (bim − djk)/σi. (2.18)
(2.17) 式のPjkim はf(z) の分布関数をFjkim と書けば、Pjkim = Fjkim −Fjki m−1 と書けることに注意
しよう。
つぎに、δjkir を対象対(Oj, Ok) に対する被験者i の第r 番目の観測(非)類似度判断として、つぎ
のZjkimr を導入しよう:
Zjkimr = 1 (δjkir がカテゴリーm に属する時)
0 (それ以外の時) (2.19)
この時、対象対に対する特定の評定判断の確率は、ΠM m=1 PZjkimr
jkim と書けるので、全観測値の同時尤度は
L = Πi Πj,k ΠrΠm PZjkimr
jkim = Πi Πj,k Πm PYjkim
jkim . (2.20)
ここで、Yjkim = r Zjkimr とする。このYjkim は対象対(Oj, Ok) に対する(非)類似度判断が、カテ
ゴリーm に落ちる度数である。
これより、対象布置座標{xja}、ばらつきσi、カテゴリーの境界値{bim} の最尤解は、
ln L = i j,k m
Yjkim ln Pjkim, (2.21)
を最大にするようなパラメータとして求められる。
未知パラメータbim に対して、いろいろな制約を加えることにより、われわれは順序尺度データや間隔
尺度データ等に対する最尤解を求めることができる。高根は、MAXSCAL2.1 における尤度比検定やAIC
を用いた複数のモデルの優劣の検定や比較について述べている。詳細は、Takane (1981) を参照のこと。 
図2.4 Ramsey (1978) の最尤MDS による刺激座標の漸近的信頼領域の例
 
2.2 その他のMDS と最近の展開
2.2.1 多次元展開法
多次元尺度構成法では、データは通常複数の対象間の(非)類似度(判断)を正方行列の形にまとめたも
のであるが、これとは形式的には異なる、複数刺激S1, S2, · · · , Sn に対する個人O1, O2, · · ·,Om の選好
(preference) データから、刺激及び個人を同一の多次元空間上に位置づける方法もあり、(多次元)展開法
と呼ばれる。
展開法は、Coombs (1950, 1964) により始められたもので、最初は刺激に対する個人の選好順位のデー
タから、1次元順序尺度を構成する方法として出発し、ベネットとヘイズにより多次元順序尺度構成の方法
に発展し(Benett & Hays, 1960; Hays & Bennett, 1961)、現在では古典的展開法と呼ばれる(斉藤、1980)。
古典的展開法は、順序尺度の構成法であり、厳密にはここで議論している(距離空間にデータをフィットさ
せる)狭義の多次元尺度構成法の範疇には入らない。
CHAPTER 2. 多次元尺度構成法の展開18
しかしながら、古典的展開法はその後、選好順位データをもとに刺激布置及び理想点の多次元距離空間
上の布置を仮定し、順位データが可能な限り点間距離の単調減少関数となるように両布置を定める非計量
的展開法(nonmetric unfolding) へと発展した(Lingoes, 1966; Kruskal, 1968; Young & Torgerson, 1967)。
また、シェネマンらにより、計量的展開法(metric unfolding) として発展しており(Greenacre & Browne,
1986; Sch¨onemann, 1972; Sch¨onemann & Wang, 1972; Zinnes & Griggs, 1974)、多次元尺度構成法の1つ
と見なせよう。また、計量的データの場合にも非計量的データの場合にもデータを距離空間上に位置づける
統一的なアルゴリズムを提案したTakane, Young, & de Leeuw (1977) によるALSCAL でも1つのモデル
として組み込まれている。
そこで、まずここでは古典的展開法とりわけクームズの1次元展開法について簡単にふれる。彼の展開
法では、刺激と個人はJ 尺度と呼ばれる共通の1次元尺度上の点で表され、それぞれの個人の刺激に対す
る選好順位は各個人の理想点(the ideal point) と呼ばれる位置から刺激点までの距離の順位に一致する、と
仮定される。
一方、個人の刺激に対する選好順位はI 尺度と呼ばれ、図2.5 のようにJ 尺度上の個々の刺激を個人
Ok の理想点IPk で折りたたむ(fold) ことによって得られるとされる。
 • Jscale
S4
·
·
·
·
·
· ·

S3
·
·
·
· · · ·

S2
· · · · ···

IPk
•·
·
·
·
· · ·
S1
Iscale




Figure 2.5: クームズの展開法におけるJ 尺度とI 尺度の関係と理想点IPi
実際の作業は、刺激に対する(I 尺度上の)選好順位データからJ 尺度(上での刺激の位置と個人の理
想点)を求めることになる。クームズの展開法はその後、ベネットとヘイズ(Bennett & Hays, 1960; Hays
& Bennett, 1961) により、多次元順序尺度の場合に拡張された。これらの方法は、現在では古典的展開法
と呼ばれている(斉藤、1980)。
古典的展開法は、その後選好順位データをもとに、刺激布置と理想点の多次元距離空間上の布置座標を仮定
し順位データが可能な限り点間距離の単調減少関数になるように両布置を定める非計量的展開法(nonmetric
unfolding) へとさらに発展している(Lingoes, 1966; Kruskal, 1968; Young & Torgerson, 1967)。
一方、シェーネマン(Sch¨onemann, 1972) は、刺激と個人の理想点間の距離の推定値が比率尺度で得ら
れている場合の計量的展開法(metric unfolding) を提案した。計量的展開法では、刺激布置X = {xia} と
個人の理想点布置Y = {yka} 間の距離dik の推定値が何らかの方法で得られている場合に、刺激布置X
及び理想点の布置Y を求める方法である。
まず、
d2
ik =
p
a=1
(xia − yka)2 =
p
a=1
x2
ia − 2
p
a=1
xiayka +
p
a=1
y2
ka, i= 1, 2, . . . , n, k = 1, 2, . . . , m, (2.22)
と書き、行列表現すると
D(2) = d2
ik = diag (XXt)1n1t
m − 2XY t + 1n1t
m diag(Y Y t), (2.23)
CHAPTER 2. 多次元尺度構成法の展開19
と書ける。ここで、1n 及び1m は1 をそれぞれn 個及びm 個並べた列ベクトルとする。
計量的展開法では、まずこのD(2) を2種類の中心化行列を用いて
P = −
1
2 GnD(2)Gm = GnXY tGm, (2.24)
と変換し、古典的MDS の場合と同様、P = X∗(Y ∗)t と分解する。実際には、エッカート・ヤングの方
法でP のp 次元のベストフィットを行い、P = U Vt とする。この時、X∗ 及びY ∗ は適当な正則行列
T を用いて
X∗ = UT, Y ∗ = V (T−1)t
, (2.25)
と書ける。
ここで、X∗ とY ∗ はそれぞれ異なる原点を持つ布置なので、共通の原点を持つ布置に変換する必要が
ある。このために、y0 を共通の原点を刺激布置の重心に移動するために必要な移動量を表すベクトルとす
ると、
X = X∗ = UT, Y = Y ∗ + 1myt
0 = V (T−1)t + 1myt
0, (2.26)
と書ける。データから上記T とy0 を推定できれば、われわれは理想点布置X と刺激布置Y を推定
できるたことになる。シェーネマンはそのための1つのアルゴリズムを示した。しかし、Gold (1973) は、
シェーネマンのアルゴリズムが布置の変換に必要な方程式として非線形部を無視している点や、一般的に
はシェーネマンの計量的展開法は大局的な解を必ずしも持たない点などを指摘した。
のちに述べる高根らのALSCAL では、計量的展開法も非計量的展開法も彼らのアルゴリズムを用いて
実現しており、SAS のMDS プロシジャでも利用できる。この高根らのアルゴリズムを改善する試みが、
その後Greenacre & Browne (1986) により提案された。また、展開法は、選好順位データに誤差分布を仮
定する確率的展開法へも発展している(Sch¨onemann & Wang, 1972; Zinnes & Griggs, 1974)。
2.2.2 内積モデル
距離モデルに対するもう1つのモデルに内積モデル(inner product model) がある。このモデルを最初に提
案したのは、Ekman (1954) である。彼は、14色の周波数の異なる色の対を簡単な5段階評定尺度で被験
者に評定させて得た類似度得点を0から1点の値に変換し、グループセントロイド法で因子分析した。そ
の結果、因子負荷量と周波数との間に興味深い関係のあることを見つけた。
もっとも、彼の方法では類似度行列の対角要素は観測されていないこと、及び尺度が単純な5段階評定
尺度であることから、彼が対象を埋め込む空間として距離空間を考えていた可能性は低いと言わねばなる
まい。この意味では、この時点での彼の方法は、前節で定義した狭義の意味ではMDSとは言えないことに
なる。
 エックマンはその後、彼の方法をスティーブンスの1次元比率尺度構成法の多次元への拡張、すなわ
ち多次元比(率)尺度構成法(multidimensional ratio scaling) と位置づけ、以下のような対象間の内積行
列R = {rjk} を計算する方法を示した。すなわち、n 個の刺激から2対づつ刺激を選び、Oj、Ok の原
点からの距離をhj、hk とし、それぞれの刺激を他方から見た時の成分pjk、pkj を比推定させ、それらを
qjk = pjk/hk、qkj = pkj/hj となったとする。図2.7 からpjk = hj cos θjk なので、
qjk = hj
hk
cos θjk. (2.27)
これより、2つのベクトルの内積rjk は、
rjk = qjk h2
k = hj hk cos θjk. (2.28)
さらに、(2.27) 式より、
qjk
qkj
=
h2j
h2
k
. (2.29)
そこで、n
k=1 (1/h2
k) = 1 と測定の単位を取れば、
h2j
=
n
k=1
qjk
qkj
. (2.30)
CHAPTER 2. 多次元尺度構成法の展開20
 Ok 







Oj
θjk
pjk






pkj
Figure 2.7: Oj、Ok の、他方から見た時の成分pjk、pkj
Micko & Lehmann (1969) は、qjk が誤差ありデータの場合、rjk やh2
k を推定するための2種類の最小
2乗法を提案している。Micko (1970) は、さらにエックマンにおけるpjk が正でhj 以下なる制約条件を
はずした場合の多次元比(率)尺度構成法を提案した。
2.2.3 非対称MDS
多次元展開法等の特別な例を除き、通常MDS では対象間に観測される(非)類似度データ行列は対称であ
る。すなわち、任意の対象Oj からOk への(非)類似度とOk からOj への(非)類似度は等しいとの仮
定がなされている。したがって、非対称なデータ行列についてのMDS、すなわち非対称MDS (asymmetric
MDS) が開発されるまでは、対象間で観測される(非)類似度の非対称性は誤差と見なされ両観測値の平
均を取ればよいとされてきた。
しかし、現実には対象相互の(非)類似度が誤差以上のものである場合は数多く存在する。そのような
場合のMDS、非対称MDS はYoung (1975) 以来現在までに数多く提案されてきている(例えば、千野、
1997; Cox & Cox, 2001)。非対称MDS では、ユークリッド空間の修正版や佐藤(1989) による非対称ミン
コフスキー空間(asymmetric Minkowski space)、Chino & Shiraiwa (1993) による有限次元(複素)ヒル
ベルト空間(finite-dimensional(complex) Hilbert space) などが用いられる。非対称MDS は、ヤング以来
このように多くのモデルが提案されてきているが、ノンメトリック非対称MDS については未だOkada &
Imaizumi (1987, 1997) しか提案されていないし、非対称最尤MDS も雑誌に公刊されたものは特別なモデ
ルを除き(Adachi, 1999, 2003; de Rooij & Heiser, 2003)、ほとんどないのが現状である。
これまでに提案されてきた非対称MDS も含めたMDS では、対象の布置は観測(非)類似度データ行
列に対する最小二乗解や単調回帰解、あるいは最尤解など、あくまでも統計的な意味でのデータの整合性
を基準として推定される。しかしそのようなモデルには、対象相互の観測(非)類似度についての心理学的
知見が盛り込まれることはほとんどないと言ってよい。また、例えばある時点までの対象相互の観測(非)
類似度データ行列からつぎの時点の(非)類似度を、心理学的な知見をモデルに組み込んで予測するなどの
モデルもない。最近、千野はそのようなモデルを提案しつつある(Chino, 2002, 2003)。
CHAPTER 2. 多次元尺度構成法の展開21
References
Adachi, K. (1999). Constrained multidimensional unfolding of confusion matrices: Goal point and slide
vector models. Japanese Psychological Research, 41, 152-162.
Adachi, K. (2003). A latent variable model for multidimensional unfolding. In H. Yanai, A. Okada, K.
Shigemasu, Y. Kano, & J. J. Meulman (Eds.) New Developments in Psychometrics, Tokyo: Springer.
pp.503-510.
Arbuckle, J., & Nugent, J. H. (1973). A general procedure for parameter estimation for the law of
comparative judgement. British Journal of Mathematical and Statistical Psychology, 26, 240-260.
Bennett, J. F., & Hays, W. L. (1960). Multidimensional unfolding: Determining the dimensionality of
ranked preference data. Psychometrika, 25, 27-43.
Blank, A. A. (1953). The Luneburg theory of binocular visual space. Journal of the Optical Society of
America, 43, 717-727.
Bock, R. D. and Jones, L. V. (1968). The Measurement and Prediction of Judgment and Choice. San
Francisco: Holden-Day.
Bogardus, E. S. (1925). Measuring social distance. Journal of Applied Sociology, 9, 299-308.
Carroll, D. J., & Chang, J. J. (1970). Analysis of individual differences in multidimensional scaling via
an N-way generalization of ”Eckart-Young” decomposition. Psychometrika, 35, 283-319.
Carnap, R. (1966). Philosophical Foundations of Physics. New York: Basic Books.
千野直仁(1997). 非対称多次元尺度構成法現代数学社
Chino, N. (2002). Complex space models for the analysis of asymmetry. In S. Nishisato, Y. Baba, H.
Bozdogan, & K. Kanefuji (Eds.) Measurement and Multivariate Analysis, Tokyo: Springer. pp.107-
114.
Chino, N. (2003). Complex difference system models for the analysis of asymmetry. In H. Yanai, A.
Okada, K. Shigemasu, Y. Kano, & J. J. Meulman (Eds.) New Developments in Psychometrics,
Tokyo: Springer. pp.479-486.
Chino, N., & Shiraiwa, K. (1993). Geometrical structures of some non-distance models for asymmetric
MDS. Behaviormetrika, 20, 35-47.
Coombs, C. H. (1950). Psychological scaling without a unit of measurement. Psychological Review, 57,
145-158.
Coombs, C. H. (1964). Theory of Data. New York: Wiley.
Cox, T. F. and Cox, M. A. A. (2001). Multidimensional Scaling. 2nd Edition. London: Chapman &
Hall.
De Rooij, M., & Heiser, W. J. (2003). A distance representation of the quasi-symmetry model and
related distance models. In H. Yanai, A. Okada, K. Shigemasu, Y. Kano, & J. J. Meulman (Eds.)
New Developments in Psychometrics, Tokyo: Springer. pp.487-494.
Eckart, C., & Young, G. (1936). The approximation of one matrix by another of lower rank. Psychometrika,
1, 211-218.
Ekman, G. (1954). Dimensions of color vision. The Journal of Psychology, 38, 467-474.
Ekman, G. (1963). A direct method for multidimensional ratio scaling. Psychometrika, 28, 33-41.
Fechner, G. T. (1860). Elemente der Psychophysik. Leipzig: Breitkopf and Haertel.
Gold, E. M. (1973). Metric unfolding: Data requirement for uique solution & clarification of Sch¨onemann’s
algorithm. Psychometrika, 555-569.
Greenacre, M. J., & Browne, M. W. (1986). An efficient alternating least-squares algorithm to perform
multidimensional unfolding. Psychometrika, 51, 241-250.
Guttman, L. (1944). A basis for scaling quantitative data. American Sociological Review, 9, 139-150.
Guttman, L. (1968). A general nonmetric technique for finding the smallest coordinate space for a
configuration of points. Psychometrika, 33, 469-506.
Hays, W. L., & Bennett, J. F. (1961). Multidimensional unfolding: Determining configuration from
complete rank order preference data. Psychometrika, 26, 221-238.
Hohle, R. H. (1966). An empirical evaluation and comparison of two models for discriminability scales.
Journal of Mathematical Psychology, 3, 174-183.
Horst, P. (1965). Factor Analysis of Data Matrices, New York: Holt, Rinehart and Winston, Inc.
Indow, T. (1983). Multidimensional mapping in Riemannian space and its application. Paper presented
at the annual meeting of the Psychometric Society, Los Angeles, CA.
CHAPTER 2. 多次元尺度構成法の展開22
Indow, T. (1988). Multidimensional studies of Munsell color solid. Psychological Review, 95, 456-470.
Indow, T., & Ohsumi, K. (1972). Multidimensional mapping of sixty Munsell colors by non-metric
procedure. In J. J. Vos, L.F. C. Friele, & P. L. Walraven (Eds.), Color metrics: Proceedings of the
Helmholts Memorial Symposium on Color Metrics (pp. 124-133). the Netherlands: Institute for
Perception.
Indow, T., & Shiose, T. (1956). An application of the method of multidimensional scaling to perception
of similarity or difference in colors. Japanese Psychological Research, 1, 45-64.
Indow, T., & Watanabe, T. (1988). Alleys on an extensive apparent frontoparallel plane: a second
experiment. Perception, 17, 647-666.
Kruskal, J. B. (1964a). Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis.
Psychometrika, 29, 1-27.
Kruskal, J. B. (1964b). Multidimensional scaling: A numerical method. Psychometrika, 29, 115-129.
Kruskal, J. B. (1968). How to use MDSCAL, a program to do multidimensional scaling and multidimensional
unfolding. Bell Telephone Laboratories.
Kruskal, J. B., & Wish, M. (1978). Multidimensional scaling. California: Sage Publications.
Lancaster, P., & Tismenetsky, M. (1985). The Theory of Matrices, 2nd Edition, New York: Academic
Press.
Lawson, C. L. and Hanson, R. J. (1974). Solving Least Squares Problems. London: Prentice-Hall.
Likert, R. (1932). A technique for the measurement of attitudes. Archives of Psychology, No.140, 5-55
Lingoes, J. C. (1966). An IBM program for Guttman-Lingoes smallest space analysis-R II. Behavioral
Science, 11, 322.
Lingoes, J. C. (1973). The Guttman-Lingoes Nonmetric Program Series. Ann Arbor: Mathesis Press.
Luneburg, R. K. (1950). The metric of binocular visual space. Journal of the Optical Society of America,
40, 627-643.
Messick, S. J., & Abelson, R. P. (1956). The additive constant problem in multidimensional scaling.
Psychometrika, 21, 1-15.
Meulman, J. J., & Verboon, P. (1993). Points of view analysis revisited: Fitting multidimensional
structures to optimal distance components with cluster restrictions on the variables. Psychometrika,
58, 7-35.
Micko, H. C. (1970). A ”Halo”-Model for multidimensional ratio scaling. Psychometrika, 35, 199-227.
Micko, H. C., & Lehmann, G. (1969). Two least-squares solutions for Ekman’s method of direct multidimensional
ratio scaling. Scandinavian Journal of Psychology, 10, 57-60.
大山正・今井省吾・和気典二編(1994). 新編感覚・知覚心理学ハンドブック誠信書房
Okada, A., & Imaizumi, T. (1987). Nonmetric multidimensional scaling of asymmetric proximities.
Behaviormetrika, 21, 81-96.
Okada, A., & Imaizumi, T. (1997). Asymmetric multidimensional scaling of two-mode three-way proximities.
Journal of Classification, 14, 195-224.
Ramsay, J. O. (1969). Some statistical considerations in multidimensional scaling. Psychometrika, 34,
167-182.
Ramsay, J. O. (1977). Maximum likelihood estimation in multidimensional scaling. Psychometrika, 42,
241-266.
Ramsay, J. O. (1978). Confidence regions for multidimensional scaling analysis. Psychometrika, 43,
145-160.
Ramsay, J. O. (1982). Some statistical approaches to multidimensional scaling data. The Journal of the
Royal Statistical Society,Series A (General), 145, 285-312.
Richardson, M. W. (1938). Multidimensional Psychophysics. Psychological Bulletin, 35, 659. (Abstract).
Ross, J. (1966). A remark on Tucker and Messick’s ”point of view” analysis. Psychometrika, 31, 27-31.
Saffir, M. A. (1937). A comparative study of scales constructed by three psychophysical methods. Psychometrika,
2, 179-198.
Saito, T. (1978). The problem of the additive constant and eigenvalues in metric multidimensional scaling.
Psychometrika, 43, 193-201.
齋藤堯幸(1980). 多次元尺度構成法朝倉書店
SAS Institute (1999). SAS/STAT User’s Guide, Version 8.1 Cary: SAS Institute Inc.
佐藤義治(1989). Minkowski 計量を用いた非対称類似性の距離表現について計算機統計学第2 巻, 35-45.
CHAPTER 2. 多次元尺度構成法の展開23
Sch¨onemann, P. H., & Tucker, L. R. (1967). A maximum likelihood solution for the method of successive
intervals allowing for unequal stimulus dispersions. Psychometrika, 32, 403-417.
Sch¨onemann, P. H., & Wang, M. M. (1972). An individual difference model for the multidimensional
analysis of preference data. Psychometrika, 37, 275-309.
Shepard, R. N. (1962a). The analysis of proximities: Multidimensional scaling with an unknown distance
function. I. Psychometrika, 27, 125-140.
Shepard, R. N. (1962b). The analysis of proximities: Multidimensional scaling with an unknown distance
function. II. Psychometrika, 27, 219-246.
Stevens, S. S. (1951). Mathematics, measurement and psychophysics. In S. S. Stevens (Ed.), Handbook
of Experimental Psychology. New York: Wiley.
Stewart, G. W., & Sun, J. (1990). Matrix Perturbation Theory. New York: Academic Press.
Suppes, P., & Zinnes, J. L. (1963). Basic measurement theory. In R. D. Luce, R. R. Bush, and E.
Galanter (Eds.), Handbook of mathematical Psychology, I., New York: John Wiley.
Takane, Y. (1978a). A maximum likelihood method for nonmetric multidimensional scaling: 1. The case
in which all empirical pairwise orderings are independent- Theory. Japanese Psychological Research,
20, 7-17.
Takane, Y. (1978b). A maximum likelihood method for nonmetric multidimensional scaling: 1. The
case in which all empirical pairwise orderings are independent- Evaluation. Japanese Psychological
Research, 20, 105-114.
高根芳雄(1980). 多次元尺度法東京大学出版会
Takane, Y. (1981). Multidimensional successive categories scaling: A maximum likelihood method.
Psychometrika, 46, 9-28.
Takane, Y., & Carroll, D. J. (1981). Nonmetric maximum likelihood multidimensional scaling from
directional rankings of similarities. Psychometrika, 46, 389-405.
Takane, Y., Young, F. W., & de Leeuw, J. (1977). Nonmetric individual differences multidimensional
scaling: An alternative least squares method with optimal scaling features. Psychometrika, 42, 1-68.
竹内啓編集(1989). 統計学辞典 東洋経済
Thurstone, L. L. (1925). A method of scaling psychological and educational tests. Journal of Educational
Psychology, 16, 433-451.
Thurstone, L. L. (1927a). A law of comparative judgment. Psychological Review, 34, 273-286.
Thurstone, L. L. (1927b). Psychophysical analysis. The American Journal of Psychology, 38, 368-389.
Thurstone, L. L. (1928). The absolute zero in intelligence measurement. Psychological Review, 35,
175-197.
Thurstone, L. L., & Ackerson, L. (1929). The mental growth curve for the Binet tests. Journal of
Educational Psychology, 20, 569-583.
Thurstone, L. L. (1931). The measurement of social attitudes. Journal of Abnormal and Social Psychology,
26, 249-269.
Torgerson, W. (1952). Multidimensional scaling : I. Theory and method. Psychometrika, 17, 401-419.
Torgerson, W. S. (1958). Theory and Methods of Scaling. New York: Wiley.
Tucker, L. R. and Messick, S. (1963). An individual differences model for multidimensional scaling.
Psychometrika, 28, 333-367.
Young, F. W. (1975). An asymmetric Euclidean model for multi-process asymmetric data. Paper presented
at U.S.-Japan Seminar on MDS, San Diego, U.S.A.
Young, F. W., & Lewyckyj, R. (1979). ALSCAL・4 User’s Guide. Carrboro: Data Analysis and Theory
Associates.
Young, F. W., & Torgerson, W. S. (1967). TORSCA, a Fortran IV program for Shepard-Kruskal multidimensional
scaling analysis. Behavioral Science, 12, 498.
Young, G., & Householder, A. S. (1938). Discussion of a set of points in terms of their mutual distances.
Psychometrika, 3, 19-22.
Wilkinson, J. H. (1965). The Algebraic Eigenvalue Problem. Oxford: Oxford University Press.
Zinnes, J. L., & Griggs, R. A. (1974). Probabilistic multidimensional unfolding analysis. Psychometrika,
39, 327-350.

Fw Intel SS7新产品提供电信级短信解决方案

Intel SS7新产品提供电信级短信解决方案

大家可能并不十分清楚,第一封短信是在1982年发出的,内容是"Merry Christmas" , 经过了这么多年的时间,短信一直只是试验室里的东西,直到近两年,短

信才逐渐成为了人们在日常生活和节
假期间相互联系的一个非常方便、实惠的方式。举
一个简单的例子,在中国春节短短的七天期间,人们用于互相拜年和问候的短信就有70亿条之多。一方面它给电信运营商和相关网站带来了巨额的利润,但另一方面也带来了非常繁重的网络负载!

现有的网络是基于七号信令的网络,但现有的七号信令并不是专为短信而设计的,这样,在如今如此大流量的短信压力下,时常出现网络不堪负载的情况出现。例如:在去年圣诞节期间,英国的电信网络在巨大的短信流量下瘫痪。

针对这种情况, 英特尔公司及时的推出了能够满足现有网络需要的七号信令控制单元,可以为呼叫控制、无线应用和智能网应用提供七号信令连接,它向应用主机提供与其他信令接口单元系统及七号信令卡相兼容的基于消息的协议应用编程接口(API)。它每秒可以处理多达800个TCAP,或者450 ISUP或TUP呼叫,可以提供在ISUP中支持多达16.384个电路和在12链路集中支持多达12个七号信令链路,在现有网络中部署了SIU520后,对于短信的处理能力和网络负载上都大大提高。

同时,由于现有的七号信令并不是专为短信所设计,能否有更好的办法提高短信的处理能力呢?IP就是解决方案。英特尔可以提供从七号信令到IP的信令网关SG430,将在原来基于七号的处理转到IP网络上,大大提升短信处理的承载能力和处理空间。它的主要特点是提供开放的七号信令和IP之间的网络互通的标准,支持多种七号信令的接口,具有高级路由能力和多主机分布式应用服务器系统,还可以实现信号转接点(STP)的操作。

有了这样的信令处理单元和信令网关,可以使运营商顺利的升级旧的短信系统,同时可以将新的短信系统建立在有更高处理能力的IP网络上,从而使运营商能够为客户提供更加稳定和高效的短信系统。

英特尔Intel® NetStructure™ SIU520信令接口单元

Intel英特尔®NetStructure™ SIU520信令接口单元(SIU)可以为呼叫控制、无线应用和智能网应用提供七号信令连接,它向应用主机提供与其他信令接口单元系统及七号信令卡相兼容的基于消息的协议应用编程接口(API)。Intel英特尔 NetStructure SIU520能够处理各种七号信令协议,使得在世界各地都可以提供各种各样的应用。它把七号信令协议卡和带有512K缓存的双英特奔腾 III处理器相结合,从而成为高吞吐量应用的理想选择。

特性

· 每秒可以处理多达800个TCAP,或者450 ISUP或TUP呼叫
· 在TCAP, INAP, GSM-MAP, 或 IS41-MAP中支持多达16.384个同步事务处理
· 在ISUP中支持多达16.384个电路
· 在12链路集中支持多达12个七号信令链路
· 2U高的电信级服务器
· 通过IP可以连接到多达32个应用主机
· 双重容错配置
· 双冗余热切换供电选择
· 支持七号信令协议,包括MTP, ISUP, TUP, SCCP, TCAP, INAP, GSM-MAP, 和IS41-MAP
· 支持很多本地协议,包括ANSI, ITU, ETSI, 香港,法国,中国等国家的协议
· 包含Linux*, Windows* 2000, or Windows NT* 等操作系统下的驱动程序

应用

创建七号信令服务节点,包括:
· 无线节点 - 短消息服务中心(SMSC),归属位置注册(HLR), 漫游网关
· 无线短消息服务 (SMS)平台/网关
· 智能网业务控制节点(SCP), 智能节点IP
· 语音拨号 (VAD),语音门户,交互式语音应答 (IVR)或者语音信箱系统

SIU体系结构

英特尔Intel NetStructure SIU520提供了在七号信令协议栈中从MTP3向上各层协议的访问。应用主机上的驱动程序通过IP向SIU发送或者从SIU接收API消息。这种体系结构解放了应用主机,从而使之能够专注于处理器和内存资源管理,使它成为高性能分布式系统中的理想选择。

分布式事务服务器

分布式事务服务器 (DTS) 模块使TCAP实例可以运行在多个应用主机之上。到主机的路由选择根据SCCP子系统号码(SSN)或者TCAP事务标识来决定,这就使不同的主机可以运行不同的TCAP用户协议,如GSM-MAP或INAP,并能保证事务能够回溯到相应的主机。

DTS使系统的设计具有更好的灵活性,对于具体的应用,可以定制系统单元的负载。TCAP和其他应用主机是分开销售的。

系统的弹性

可以把两个Intel英特尔 NetStructure SIU520配置为共享同一个七号信令点码,这样,在单个点码内就可以提供完全弹性的操作。在正常操作情况下,两个单元分担信令负荷。如果有一个单元出现故障,另一个单元就要处理所有的信令。

SS7/IP SIGTRAN Intel英特尔® NetStructure™ SG430 信令网关

特点和优势

· 七号信令和IP之间的网络互通采用开放的标准
· 同时支持多种七号信令- ANSI/ITU/ETSI/JAPAN
· 支持多种接口- E1/T1/V.35
· 支持连接到SIGTRAN兼容的应用服务器
· 是基于IP的七号信令应用的理想选择
· 具有高级路由能力
· 多主机分布式应用服务器系统
· 实现信号转接点(STP)的操作
· 双冗余热切换电源选择
· 高性能
· SS7/SIGTRAN应用服务器软件

应用

· 移动短消息业务/位置服务
· 分布式交换
· SS7 long haul and offload
· GPRS集成
· IP电话网关
· 智能网SCP
· 提供基于IP的应用服务

概述

Intel英特尔 NetStructure SG430信令网关在新一代网络和业务平台中是很关键的设备。除了支持标准的协议和体系结构,该网关还能提高系统的可靠性、可维护性和效率。

SG430信令网关是七号信令系统和IP网络之间的接口,从而可以从IP应用程序(如软交换单元和移动网络单元)接收或者向IP应用程序发送七号信令信息。 它使这些应用程序分布在多个平台上,从而使网络具有可伸缩性和弹性。路由算法并不仅仅在IP域中重新创建七号信令链路和链路集,还形成了高级分布式业务平台的基础。该网关使用IETF组织的SIGTRAN协议,从而保证与第三方设备的互操作性。

SG430信令网关的灵活性和控制功能使它成为呼叫控制应用和事务应用的理想选择。该网关能够用于创建无线和智能网系统、IP电话网关、扩展现有网络的七号信令网的带宽等。该网关使用SIGTRAN流控制传输协议(SCTP)和适配层,通过IP网络向远端应用或者在网关之间透明地传送七号信令。SG430信令网关管理网络互通,如在IP域与七号信令之间的可用路由的监控和报告。

当新的业务和体系结构在现有网络和新的以数据为中心的网络中开始部署时,就需要有基于标准网络升级系统。SG430信令网关采用了成熟的七号信令软硬件、互操作的SIGTRAN协议,具有强大的七号信令和IP网络控制功能。

SG430信令网关是设计用于广域网(WAN)架构之上的。

应用

SG430信令网关可以用于各种应用场景和环境中。在公共电话网和其他可靠性要求很高的环境中,该信令网关是一个理想的选择。对于很多七号信令/IP应用,该信令网关都是最佳的选择。

Fw 证券远程委托解决方案 - Diva Server PRI 卡在证券委托中的应用

证券远程委托解决方案


  Diva Server PRI 卡在证券委托中的应用


  需求分析:券商证券委托一般包括:电话传真委托、可视委托(又称远程大户室)和网上委托等。其中除网上委托可通过Internet网外,其它委托必须通过PSTN网来连接。在当前阶段,此类委托占有最大的客户群。以前,每个券商为了实现此类委 托,必须在券商中心的机器上装上语音卡、传真卡、座席卡来满足电话传真委托,另外还必须在另外一台机器上装上多串口卡和Modem Pool与座席卡相连来满足可 视委托,远程大户室等业务。此方案, 用户不仅需要购买很多卡, 占用很多机器 插 槽,而且在实现可视委托时,只能接受客户端PSTN模拟Modem 的呼叫, 而不 能接收目前ISDN 的连接方式,速 度非常缓慢。本文主要提 出了 一种采用Eicon Diva Server PRI 卡的新型解决方案,本方案不仅省去了在中心插上 传真卡、语音 卡、 座席卡多种卡,又省去了多串口卡和Modem Pool 构件,只需在中心的一台机 器插上1-4 块 Diva Server PRI卡后,便能满足你电话传真委托、可视 委托 、远程大 户室等多种业务,还支持WAP呼叫,SMS短消息发送等,在可视委托和远程大户室业务中 ,不仅支持PSTN Modem的模拟呼叫,也支持ISDN的数字呼叫,方案的 性价比极高 , 方案连接图如下图所示:





本方案的优点如下:

  1. 同一块Diva Server PRI (30B+D)卡便能把券商的所有业务都集成在 一起: 电话 传真委托、可视委托、远程大户室、WAP查询,短消息服务 等,使方案的集成 度做到了最高,性价比做到了最高。


  2. 与以前旧方案相比,省去了传真卡,更省去了支持可视委托而配备的座席卡和多用户串口卡和Modem Pool等,服务器的功能更加强大,业务更加 多样。


  3. 采用纯ISDN数字技术,真正用好了ISDN综合业务的特点,并使各种委托操作 (特别是可视委托 和电话委托)处理更加快速,更为精确。


  4. 用本方案实现的远程大户室可视委托不仅能实现PSTN的接入,还能实现ISDN的接入和WAP的接入,所以反应速度更为灵敏,方式更为灵活;通讯方式上:既能支持TCP/IP 的接入, 又能支持Modem AT 的方式,券商原先旧有软件不需 做移植。


  5. 一台PC 最多能插4块Diva Server PRI卡,故能支持120路各类用户的呼叫; Diva Server PRI 卡 根据支持传真用户和模拟Modem用户的数量,有多种型号可供选 择,方式极为灵活。


  6. Diva Server PRI 卡的高速RISC CPU 和DSP体系,使得各种应用, 如 FAX、 WAP、 Modem模拟等都有相应的DSP来处理,所以最大 限度地不占用PC 机 资 源。


  7. Diva Server PRI 卡能支持CAPI 和TAPI 的开发,Eicon 独有的Diva Server SDK 更使各种应用开发起来非常方便,所以软件开发商的应用开发移植非常简单方便。


  8. 本方案在同一根PRI线上实现了语音、数据、传真等各种应用,使各种应用共享一根线,通讯线路资源可获得最大限度的利用,具有最高的运行成本性价 比。







用户问答:


  1. 我的可视委托业务,以前通过AT命令控制MOXA卡来实现,如我想采用你们的Diva Server PRI卡,我的应用软件是否需要做移植?

  答:不需要。Diva Server PRI卡支持TCP/IP和AT命令两种通讯方 式, 所以你的 可 视委托 应用软件,不管你是TCP/IP 方式或Modem AT方式都不需 要做另外 的移植工作。


  2. 目前中国电信提供的数字线有两种:1,PRI (采用DSS1信令); 2,E1线采用 (中国一号信令),请问这两种方式,哪种更适合券商使用?

  答:从技术上讲,肯定是PRI线DSS1信令更适合券商使用,相对中国一号信令 PRI DSS1 有以下好处:1,PRI DSS1信令是一种共路信令,其专门有一个D 信 道来传信令,而中国 一号信令是随路信令。用PRI某些业务实现 起来特别方 便,举个例子:采用PRI就算其30个信道全部占线的情况下,如有第31个、32个呼叫进来时,中心虽然不能接收它,但中心的应用程序也能知道有多少呼叫因为线路忙不能进来,并能记录下这些呼叫的主叫号码,这对实现某些特殊应 用(如CRM)特别有用。2,ISDN是综合业务数字网,采用PRI构建的券商中心能接收ISDN、PSTN、GSM的各类模拟或数字数据传输,而普通E1线中国一号信令,则不能接收ISDN 的 数据传输。


  3. 采用Diva Server PRI卡来实现传真服务,和普通的传真卡实现传真方式 相比, 是否会占用主机更多的资源?

  答:不会,我们的Diva Server PRI 卡,传真应用是由专门的卡上DSP 来实现 的,而且是一个传真连接占用一个DSP资源,所以传真的格式变换等都是通过DSP 来实现的,不会占用任何的PC机资源。而且 采用我们的 Diva Server PRI卡实现传真方式更为灵活,你的应用程序在任何时候都能 接收传真信号, 而无需象普通的语音卡和传真卡方式下,需要专门用DTMF按键转到传真卡 后,才能接收传真。


  4. 你们的Diva Server PRI有哪几种?客户如何来选择采用哪种卡?

  答:我们的Diva Server PRI 有以下几种: Diva Server PRI-2M, Diva Server PRI-9M、Diva Server PRI-23M、 Diva Server PRI-30M,M的 数目代表 卡上 的DSP的数目,即能支持FAX和Modem的传接数目,所以根据你的需求, 你可选择不同的卡,如你需要7路传真,7路远程大户可视委托,30路语音呼 叫,则你可选择Diva Server PRI-9M 卡,当然,功能上讲,我们的 Diva Server PRI-30M卡功能最为强大,它能支持不超过30路的各类连接,包括FAX, Modem,WAP等模拟、数据会话连接。


  5. 在方案特点上,你说到各种应用共享一根PRI线,通信线路资源可获得最大限度的利用,能具体解释一下吗?

  答:下面以我们的Diva Server PRI-30M卡来举例说明,Diva Server PRI-30M 卡能支持不超过30的各类连接,也就是说你的各类应用,如语音,传真,远程大户室,WAP 等各类应用的最大连接数都为30,只要这些应用客 户的总和不 超过 30,你的各类应用客户都能方便进行操作访问。而在传统的方案中, 传真 数目受 到传真卡的限制,远程大户室连接数受到座席卡和Modem POOL 的限制 通信资源显然 不能共享。所以,在采用Diva Server PRI卡方式下,通信资源可 获得最大限度 的利用,具有最高的运行成本性价比。


  6. 采用你们的Diva Server PRI 卡,远程大户可以用ISDN,也可以用PSTN来进 行连接,这种方式我非常喜欢,但不知在ISDN方式下,对大户的ISDN 终端设 备是 否有所限制?

  答:前面我们说过,我们的Diva Server PRI卡支持TCP/IP和AT命令两种通 讯 方式。在TCP/IP通讯方式下,对终端设备没有限制,只要大户的终端设备 能拨号上网,便能和Diva Server PRI 卡来协同工作。如采用AT命令方式, 则需要大 户的ISDN终端设备 能支持COM方式下V.120协议,目前,大多数终 端设备都能支 持这种工作方式,我们Eicon的DIVA T/A 也能支持。


  7. 你们的Diva Server PRI 是如何来识别一般的语音电话呼叫和远程大户室 的普通Modem呼叫的?

  答:我们是通过被叫号码来识别的,一般一根PRI线,中国电信可分配你10个号码,我们可把券商的业务分成2类:1)电话和传真业务。2)远程大户和可视委托业务。我们选取2个号码,其中一个号码专门作语音和传真业务;通过简单的配置,可在软件中配置另一个号码来接收远程大户和可视委托呼叫,对不是该号码的呼叫不予理睬。通过这种方法便可清楚地鉴别一般的电话呼叫和远程大户室普通Modem的呼叫,从而做到不同应用间资源共享动态平衡,最大限度地利用线路资源。


  8. 请问你们的Diva Server PRI卡支持哪些主流的操作系统,如果我们作应用程 序的开发,有没有相应的开发工具,开发难易程度如何?

  答:我们的Diva Server PRI卡支持Windows 2000,Windows NT以及Linux等 目前主流的操作系统。同时,Diva Server PRI 卡支持标准的TAPI,CAPI (CAPI是ISDN上的一个开发接口国际标准)等开发工具,另外,Eicon独有的 Diva Server SDK开发工具,更为你的开发提供了一个非常简单的编程接口, 你应用程序的移植工作非常方便。我们公司也有相应的技术工程师提供全面 的技术支持和技术培训。

2007/09/12

Linux: Setup a transparent proxy with Squid in three easy steps

Y’day I got a chance to play with Squid and iptables. My job was simple : Setup Squid proxy as a transparent server.

Main benefit of setting transparent proxy is you do not have to setup up individual browsers to work with proxies.
My Setup:

i) System: HP dual Xeon CPU system with 8 GB RAM (good for squid).
ii) Eth0: IP:192.168.1.1
iii) Eth1: IP: 192.168.2.1 (192.168.2.0/24 network (around 150 windows XP systems))
iv) OS: Red Hat Enterprise Linux 4.0 (Following instruction should work with Debian and all other Linux distros)

Eth0 connected to internet and eth1 connected to local lan i.e. system act as router.
Server Configuration
Step #1 : Squid configuration so that it will act as a transparent proxy
Step #2 : Iptables configuration
a) Configure system as router
b) Forward all http requests to 3128 (DNAT)
Step #3: Run scripts and start squid service

First, Squid server installed (use up2date squid) and configured by adding following directives to file:
# vi /etc/squid/squid.conf

Modify or add following squid directives:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl lan src 192.168.1.1 192.168.2.0/24
http_access allow localhost
http_access allow lan

Where,
httpd_accel_host virtual: Squid as an httpd accelerator
httpd_accel_port 80: 80 is port you want to act as a proxy
httpd_accel_with_proxy on: Squid act as both a local httpd accelerator and as a proxy.
httpd_accel_uses_host_header on: Header is turned on which is the hostname from the URL.
acl lan src 192.168.1.1 192.168.2.0/24: Access control list, only allow LAN computers to use squid
http_access allow localhost: Squid access to LAN and localhost ACL only
http_access allow lan: — same as above –

Here is the complete listing of squid.conf for your reference (grep will remove all comments and sed will remove all empty lines, thanks to David Klein for quick hint ):
# grep -v "^#" /etc/squid/squid.conf | sed -e '/^$/d'

OR, try out sed (thanks to kotnik for small sed trick)
# cat /etc/squid/squid.conf | sed '/ *#/d; /^ *$/d'

Output:
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl purge method PURGE
acl CONNECT method CONNECT
cache_mem 1024 MB
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl lan src 192.168.1.1 192.168.2.0/24
http_access allow localhost
http_access allow lan
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname myclient.hostname.com
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
coredump_dir /var/spool/squid
Iptables configuration

Next, I had added following rules to forward all http requests (coming to port 80) to the Squid server port 3128 :
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

Here is complete shell script. Script first configure Linux system as router and forwards all http request to port 3128 (Download the fw.proxy shell script):
#!/bin/sh
# squid server IP
SQUID_SERVER=“192.168.1.1″
# Interface connected to Internet
INTERNET=“eth0″
# Interface connected to LAN
LAN_IN=“eth1″
# Squid port
SQUID_PORT=“3128″
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

Save shell script. Execute script so that system will act as a router and forward the ports:
# chmod +x /etc/fw.proxy
# /etc/fw.proxy
# service iptables save
# chkconfig iptables on

Start or Restart the squid:
# /etc/init.d/squid restart
# chkconfig squid on
Desktop / Client computer configuration

Point all desktop clients to your eth1 IP address (192.168.2.1) as Router/Gateway (use DHCP to distribute this information). You do not have to setup up individual browsers to work with proxies.
How do I test my squid proxy is working correctly?

See access log file /var/log/squid/access.log:
# tail -f /var/log/squid/access.log

Above command will monitor all incoming request and log them to /var/log/squid/access_log file. Now if somebody accessing a website through browser, squid will log information.
Problems and solutions
(a) Windows XP FTP Client

All Desktop client FTP session request ended with an error:
Illegal PORT command.

I had loaded the ip_nat_ftp kernel module. Just type the following command press Enter and voila!
# modprobe ip_nat_ftp

Please note that modprobe command is already added to a shell script (above).
(b) Port 443 redirection

I had block out all connection request from our router settings except for our proxy (192.168.1.1) server. So all ports including 443 (https/ssl) request denied. You cannot redirect port 443, from debian mailing list, “Long answer: SSL is specifically designed to prevent “man in the middle” attacks, and setting up squid in such a way would be the same as such a “man in the middle” attack. You might be able to successfully achive this, but not without breaking the encryption and certification that is the point behind SSL“.

Therefore, I had quickly reopen port 443 (router firewall) for all my LAN computers and problem was solved.
(c) Squid Proxy authentication in a transparent mode

You cannot use Squid authentication with a transparently intercepting proxy.
Further reading:
How do I use Iptables connection tracking feature?
How do I build a Simple Linux Firewall for DSL/Dial-up connection?
Update: Forum topic discussion: Setting up a transparent proxy with Squid peering to ISP squid server
Squid, a user’s guide
Squid FAQ
Transparent Proxy with Linux and Squid mini-HOWTO

Updated for accuracy.

Please subscribe to our free e-mail newsletter or full RSS feed to get all updates. Or just leave a reply/comment ( 106 ).
You may also be interested in (skip to comment)...
Squid Proxy Server Limit the number of simultaneous Web connections from a client with maxconn ACL
Install Squid Proxy Server on CentOS / Redhat enterprise Linux 5
Linux: How to disable the IPv6 protocol
Top 10 Hits and Zeitgeist of 2006 for your edification and fun
Linux Iptables allow SQUID proxy incoming client request

how to setup squid server

can any one tell me how to setup squid server (proxy server) in linux (fedora core 3) in the minimam steps required. i tryed installing and setup but dont know where is the problema nad what is the actual procdure for i have also red from www.squid.org but all is not good . every time i start squid servece is says failed can any one tell me from th ebegning how to setup proxy server for my lab and my server on which i wanted to start squid server is 192.168.200.1/255.255.255.0 and i wanted to give acess to all comps from 192.168.0.1-192.168.0.255/255.255.255.0
thanks in advance


-----


Aug 10th, 2005
your /etc/squid/squid.conf is probably misconfigured and
at a minimum should contain:

1] add your domain to the acl (access control lists) below the default entry
"acl CONNECT method CONNECT" line like so: [use the CIDR instead of the subnetmask]
(remember allow first then deny last)

acl yourdomainshortname src 192.168.0.0/24
acl yourdomainshortname src .yourdomain.com

you should be able to use this to refer to later in the file now...

2] search further down in the file for the line that looks like:
"INSERT YOUR OWN RULES HERE" add the following line under the
localhost rule: (refer to the items in 1] above)

http_access allow yourdomainshortname


restart squid
I believe that squid uses port 3128 by default.
to test this you can configure a browser and point it at your proxy server

troubleshooting: [do this on the proxy server]

'tail -f /var/log/messages' in a seperate bash window while restarting squid
'tail -f /var/log/squid/access.log' in a seperate bash window while
attempting connections to the proxy server. watch the output for
success & failure.

double check iptables to ensure that it isnt running a conflicting firewall
'service iptables status' if iptables is running
you can temporarily disable it and restart squid and then test again:
'service iptables stop'
In the long run you should probably configure iptables to allow, deny,
drop and log traffic as appropriate for the given ports/services that you require.

ensure that /etc/hosts is setup correctly and there are seperate entries
for localhost and your system like so:

127.0.0.1 localhost localhost.localdomain
192.168.0.x proxyserver proxyserver.yourdomain.com wwx.youretcdomain.com

/etc/hosts.allow & /etc/hosts.deny can also present conflicts. ensure
that they dont.

you can also test a given port on the localhost with telnet to see if you
are allowed to connect at all:
'telnet localhost 3128' and see if you're even allowed to connect
run the following command to check a given port
'netstat -n | grep 3128' (or any other port)

make sure you can resolve yourself and other machines in dns by using
'dig' or nslookup' to avoid the obvious...

enjoy & happy troubleshooting..
Cain
I used up all my money on you baby...
... and I want it BACK.

Fw 什么是七号信令网关

什么是七号信令网关
作者:佚名 文章来源:中国VoIP论坛 更新时间:2006-9-23 11:41:13


概述

现有的通信网络可分为传统的电路交换网和分组交换网。不同的网将按各自的最佳方向独立演进,融合发展。最终形成一个统一的融合的主要是以IP为基础的分组化网。然而,从传统的电路交换网到分组化网将是一个长期的渐进过渡过程。

电信业务将会跨网络发展。在语音业务和数据业务融合的过程中,以电路交换为基础的网络和以分组交换为基础的网络之间的通信势必要求信令能够互通,两个全球 最大的网络将长期共存,信令互通的潜力将是巨大的。更重要的是下一代的网络是以IP为基础的,无论是软交换体系结构还是第三代移动通信系统都采用基于IP 的分组交换网络,因此信令网关是必不可少的,信令网关就是两个不同的网之间信令互通设备。

另外在分布广阔的接入网中,利用普遍存在的IP网络来传输接入信令,如DSS1和V5.2,也有很大的市场需求。

SS7信令网关

信令网关的作用就是完成两个不同网络之间用于控制的信息的相互转换,以实现一个网络中的控制信息能够在另一个网络中延续传输。信令网关是在两个网络的边界 接收和发送信令的代理,是两个网络间的信令关口,对信令消息进行翻译、中继或终结处理。信令网关可以独立设置,也可以与其他网关综合设置,来处理与接入线 路或中继线路有关的信令。

目前使用最广泛的两个网络一个是电话交换网络,其中包括固定电话网和移动电话网,另一个是IP网络,包括Internet,Intranet和Extranet。

电话交换网络中,常用的信令如下图所示:

图中MAP,CAP,RANAP,BSSAP为移动通信系统使用的信令;ISUP,TUP,INAP为固定网使用的信令;DSS1和V5.2为接入网使用的信令。

九十年代末,IETF成立了信令传输(SIGTRAN)工作组来解决分组形式的电话信令在IP网络上传输,确定电话信令的功能和性能要求,实现在IP网络节点之间传输如SS7 ISUP,TUP和DSS1之类的信令。

SIGTRAN构架是在流控传输协议(SCTP)上加一个用户适配层(UAL)。用户适配层是由多个适配模块所组成。它们分别为上层现有的电话用户/应用 提供原来的原语接口(如管理指示,数据操作等原语),并把上层特定信令协议打包在SCTP上传输。SCTP基于标准的互联网协议(IPv4,IPv6)之 上。SIGTRAN构架如下图所示:

图中粉红色部分为SIGTRAN的协议栈,在它们之上的是对应的电话信令协议。SIGTRAN的协议栈分为2层:一层是SCTP,它提供多个流的,可靠的 数据传输,用户数据的捆绑和分段,阻塞和流量控制,防止“拒绝服务”和“伪装”的攻击等功能。另一层是用户适配层,图中由SUA、M3UA、M2UA、 M2PA、IUA和V5UA五个适配模块所组成,它们分别来满足各种电话信令协议适配的要求。

电话网中的一个信令节点与IP网中的一个信令节点不能直接相连,它们之间的相互通信需要依靠一个叫做信令网关(Signaling Gateway,SG)的中间设备来进行。从IP网络的角度来看,这个信令网关有时也叫做应用服务器通信设备,因为在UAL中常把上述的IP信令节点叫做 应用服务器(Application Server, AS)。通过信令网关实现两网信令互通的通用结构如下图所示:

由于前面所述的原因,一般来讲信令网关总是位于电话网络和IP网络之间,完成以SS7为主的传统电话信令与SIGTRAN的IP电话信令之间消息的相互转 换,支持高层信令协议(SigProt)的互通。从电话网的角度来看,由于信令网关主要完成SS7信令的处理,所以通常把它叫做七号信令网关。当信令网关 与其他网络设备集成时,其中有一侧的接口将成为内部接口。例如在上图中,如果信令网关与左边的信令端点(SEP)设备集成时其左侧的TTSP接口将成为内 部接口,同样与ISEP集成时其右侧的IP电话信令接口成为内部接口。

应用举例

在下面的例子是信令网关在WCDMA 3G 移动通信网络中的应用。它是一种可能的实现方案之一,实际的网络按不同的具体需有不同的配备。

下图的例子表示了WCDMA电路交换域(CS)的结构。本例使用了基于IP的核心网络,并在图中加上了媒体服务器(Media Server)。媒体服务器在MSC-Server的控制下可以提供简单的通知服务,在应用服务器的控制下可以提供增殖服务,如语音短信、会议电话等。

在这个例子中媒体和信令网关(Media & Signalling Gateway)、移动交换中心网关服务器(GMSC Server)、拜访位置寄存器(VLR)、归宿位置寄存器(HLR)都集成了信令网关的功能,它们分别起到无线接入网的信令网关和漫游信令网关的作用。 独立设置的信令网关(Signalling Gateway)完成传输信令网关的作用。

产品选型

在信令网关设备中,需使用包括系统平台、接口资源板、信令板、处理器板、以及协议软件等。信令网关有很高的可靠性要求,通过冗余设计,避免单点故障。通常实现双机主备配置时,可使用HA软件。

1) 平台
根据信令网关系统的不同实现方式,采用不同的平台。
 PICMG 2.16 Blade System
 例如:ADLINK cPSB-2100,cPSB-800,cPSB-880 系列
 CompactPCI with H.110 System
 Intel x86 base:ADLINK cPCIS-6400(4U),cPCIS-3330(9U)系列
 Sun UltraSPARC base:ADLINK cSP-4502(4U),cSP-9802(9U)系列

2) 信令接口板
根据要求实现的信令链路不同,以及信令处理能力的不同,可选用多种信令板,板上实现MTP1、MTP2,如:
 Interphase 系列产品,如iSPAN 4539、iSPAN 6535、iSPAN 1635等,
 NMS TX-TX3220C 系列
 东进 (DonJin) D607C/1207C

3) CPU板
负责高层协议的处理(MTP3以上层协议),以及实现SS7网管。可采用ADLINK多款高性能处理器板,如cPCI-6840 1.6GHz Pentium® M 处理器板、cPCI-6810 Intel LV Tualatin处理器板、cPCI-6860 双Xeon 2.4GHz处理器等。

4) 协议软件
根据信令网关所处网络中不同位置,需选择实现以下多层协议:MTP3、SCCP、Q.921、LAPV5 、M2UA、M2PA、M3UA、SUA、V5UA、IUA、SCTP、IP等。可选择如Trillium、Hughes等协议软件商提供的协议软件。

2007/09/11

VBA Script OLE Example

Sub IEWait(objIE As Object)
t = Timer
While objIE.Busy Or objIE.readyState <> 4
If Timer - t > 30 Then '30秒であきらめる
MsgBox "タイムアウトしました"
End
End If
Wend
End Sub

'IE Example
Sub Translate()
'Dim objIE As InternetExplorer
Dim objIE As Object
Dim RngURL As Range
Dim RngText As Range

On Error Resume Next
MsgBox "回線の状況により、処理に2分程度かかることがあります。"
Set RngURL = Range("ExciteURL")
Set RngText = Range("英文和訳")
RngText.Columns(2).ClearContents
Set objIE = CreateObject("InternetExplorer.Application")
'objIE.Visible = True
yURL = RngURL
With objIE
.Navigate yURL
Call IEWait(objIE)
End With
For i = 1 To 5
If RngText(i, 1).Value = "" Then Exit For
With objIE.Document.all
Set tmp = .Item("start")
.Item("before")(0).Value = RngText(i, 1).Value
.Item("start").Click
End With
Call IEWait(objIE)
RngText(i, 2).Value = objIE.Document.all.Item("after")(0).Value
Next
objIE.Quit
Errorexists = (Error() <> "")
On Error GoTo 0
If Errorexists Then
MsgBox "何らかの原因で正常に処理できませんでした"
Else
MsgBox "正常に処理が終了しました"
End If
End Sub


Sub FMJExample()
On Error Resume Next
'FMJのオブジェクトの変数
Dim FMAP As New FMPRO50Lib.Application
'Dim FMAP As Object
'Dim Docs As FMPRO50Lib.Documents
Dim Docs As Object
'Dim Doc As FMPRO50Lib.Document
Dim Doc As Object

'普通の変数
Dim RngFileName As Range
Dim RngScriptName As Range
Dim RngResult As Range
Dim tarDir As String
Dim t As Double

On Error Resume Next
'変数初期化
Set FMAP = CreateObject("FMPRO50Lib.Application")
Set Docs = FMAP.Documents
Set RngFileName = Range("ファイル名")
Set RngScriptName = Range("スクリプト名")
Set RngResult = Range("実行結果")
tarDir = ThisWorkbook.Path
RngResult.ClearContents

'FMJ開いてスクリプト実行して閉じる
FMAP.Visible = True
For i = 1 To 10
t = Timer
If RngFileName(i) = "" Then Exit For
'FMJ開く
On Error Resume Next
Set Doc = Docs.Open(tarDir & "\" & RngFileName(i), "")
Doc.Activate
ErrExists = (Error() <> "")
On Error GoTo 0
If ErrExists Then
RngResult(i, 2) = "ファイルがありません"
Else

'スクリプト実行
Doc.DoFMScript (RngScriptName(i))
If FMAP.ScriptStatus = 0 Then
RngResult(i, 2) = "スクリプトがありません"
Else
'スクリプトが終わるまで待つ
While FMAP.ScriptStatus <> 0
Wend

'閉じる
Doc.Close
End If
End If
RngResult(i, 1) = Timer - t
Next
FMAP.Quit
Errorexists = (Error() <> "")
On Error GoTo 0
If Errorexists Then
MsgBox "Error" & Errorexists
Else
MsgBox "Finished Successfully"
End If
End Sub

' Outlook Example
Sub GetSbj()
Dim olApp As Object
Dim NameSpc As Object
'Dim Fldr As Outlook.MAPIFolder
Dim Fldr As Object
'Dim mailitem As Outlook.mailitem
Dim mailitem As Object
Dim Rng As Range

On Error Resume Next
Set olApp = CreateObject("outlook.application")
Set NameSpc = olApp.GetNamespace("MAPI")
Set Fldr = NameSpc.GetDefaultFolder(6) '6=olFolderInbox:受信フォルダ
Set Rng = Range("SbjOut")
Rng.ClearContents
i = 1
For Each mailitem In Fldr.Items
Rng(i, 1) = mailitem.Subject
i = i + 1
If i > 5 Then Exit For
Next

Errorexists = (Error() <> "")
On Error GoTo 0
If Errorexists Then
MsgBox "Error" & Errorexists
Else
MsgBox "Finished Successfully"
End If
End Sub

ユーザー・エラーからの復旧方法

【ユーザー・エラーからの復旧方法】
◆まえがき
データベースに対して、操作上あるいはプログラム上の変更が誤って行われた
場合、それが原因でデータが失われたり破損したりすることがあります。
通常、表の削除などのユーザー・エラーでは、失われた変更の再入力(失われ
た変更の記録が存在する場合)、削除したオブジェクトのインポート(エクス
ポート・ファイルが存在する場合)、個々の表領域のリカバリ(表領域の
Point-in-Time リカバリ(TSPITR ))、データベース全体の不完全リカバリの
いずれかの作業が必要になります。
この文書では、その中から”データベース全体の不完全リカバリの手順”につい
てご紹介させて頂きます。
◆ 目次
1. 処理の概要
2. 前提条件
3. 実行手順と実行例
4. 補足
*1.処理の概要*
バックアップから必要なデータファイルのみを開発系にリストアし、かつ該当オブ
ジェクトが存在した時間までリカバリします。その後、EXPORT・IMPORTを行う事に
より本番系のデータベースは最新の状態を保持しつつ、該当オブジェクトを削除前
の状態に戻す事ができます。
*2.前提条件*
1.SYSTEM表領域、ROLLBACK SEGMENT(UNDO SEGMENT)用表領域、失われた
オブジェクトが存在する表領域のバックアップが存在すること。
2.アーカイブ運用であること。
3.同じOS・Oracle環境の開発系データベースがあること。
4.ディスク容量的に余裕があること。 Page 2

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
2
*3.実行手順と実行例*
以下のような仮定で障害が発生し、一部のバックアップだけを本番系から
開発系にリストアを行い、時間ベースの不完全リカバリを実行します。
・1/1の時点でフルバックアップを取得し、1/10の18:10の時点で誤って
以下のような表を削除してしまいました。
SQL> SELECT owner,segment_name,tablespace_name
2
FROM dba_segments
3
WHERE owner='TESTUSER' AND segment_name='TEST';
OWNER
SEGMENT_NAME TABLESPACE_NAME
--------------- --------------- ---------------
TESTUSER
TEST
USERS
SQL> DROP TABLE test;
表が削除されました。
SQL> SELECT owner,segment_name,tablespace_name
2 FROM dba_segments
3 WHERE owner='TESTUSER' AND segment_name='TEST';
レコードが選択されませんでした。
SQL> SELECT sysdate FROM dual;
SYSDATE
-------------------
2004-01-10 18:10:00Page 3

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
3
a.取得済みバックアップから必要なデータファイル(失われたオブジェクトが
存在する表領域) を開発系にリストアします。
※SYSTEM表領域やROLLBACK SEGMENT(UNDO SEGMENT)用の 表領域も含みます。
b.制御ファイルをリストアします。
リストアする際は開発系の初期化パラメータファイル
control_filesパラメータと同一の位置にするか必要に応じてパラメータ
を編集して下さい。
開発系でリストアした情報
■開発系構成画面Page 4

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
4
上記の場合、control_filesパラメータは以下のように設定します。
c.アーカイブログファイルをlog_archive_destで指定したディレクトリに
戻します。
ここで、最新の状態のオンラインREDOログファイルもリストアする必要が
ある場合は本番系にて強制的にログスイッチ(※1)を発生させ、
作成されたアーカイブログファイルを含めて下さい。
(※1)ログスイッチは管理者ユーザにて以下のように実行します。
d. パスワードファイルをご使用の環境でない場合、この手順はSKIPして下さい。
制御ファイルをバックアップしたタイミングでパスワードファイルの
バックアップも取得していれば、そのファイルをリストアしてください。
UNIX : $ORACLE_HOME/dbs下の位置にあるorapw[SID名].ora
Windows: %ORACLE_HOME/database下の位置にあるPWD[SID名].ora
バックアップが存在しない場合、開発系のパスワードファイルを削除(または
RENAME)後、以下のコマンドにて再作成することが可能でございます。
UNIX:
WINDOWS:
control_files=("E:¥Ora901¥oradata¥test901¥control01.ctl")
SQL> ALTER SYSTEM SWITCH LOGFILE;
% cd $ORACLE_HOME/dbs
% ORAPWD FILE=orapw$ORACLE_SID PASSWORD=
PROMPT> cd %ORACLE_HOME%¥database
PROMPT> ORAPWD file=PWD%ORACLE_SID%.ora PASSWORD=Page 5

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
5
d.STARTUP MOUNTで起動します。
e.不要なデータファイルをOFFLINE DROPする
V$DATAFILEを検索すると、本番系のデータファイル構成となっており
開発系にリストアしていないファイルも含めてすべて表示されます。
リストアの対象とならないデータファイルをすべてOFFLINE DROPします。
(例)
SQL> SELECT name,status FROM v$datafile;
NAME
STATUS
---------------------------------------- -------
C:¥V901¥ORADATA¥TEST901¥SYSTEM01.DBF
SYSTEM
C:¥V901¥ORADATA¥TEST901¥UNDOTBS01.DBF
ONLINE
C:¥V901¥ORADATA¥TEST901¥INDX01.DBF
ONLINE
C:¥V901¥ORADATA¥TEST901¥TOOLS01.DBF
ONLINE
C:¥V901¥ORADATA¥TEST901¥USERS01.DBF
ONLINE
SQL> ALTER DATABASE DATAFILE 'C:¥V901¥ORADATA¥TEST901¥INDX01.DBF'
OFFLINE DROP;
データベースが変更されました。
SQL> ALTER DATABASE DATAFILE 'C:¥V901¥ORADATA¥TEST901¥TOOLS01.DBF'
OFFLINE DROP;
データベースが変更されました。
SQL> STARTUP MOUNTPage 6

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
6
f.本番系とは異なるPATHにファイルをリストアしたい場合は、以下の操作を
行います。 PATHが同じ場合、この手順はSKIPして下さい。
V$DATAFILEを検索すると、リストアしたファイルが本番系のPATHのまま
表示されますので、 それらのデータファイルをRENAMEします。また、
データファイルだけでなくオンラインREDOログファイルについても PATHが
替わる場合は 同様にRENAMEします。
例)
■開発系構成画面より
≪データファイルの場合≫
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥system01.dbf'
TO 'e:¥ora901¥oradata¥test901¥system01.dbf';
データベースが変更されました。
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥undotbs01.dbf'
TO 'e:¥ora901¥oradata¥test901¥undotbs01.dbf';
データベースが変更されました。
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥users01.dbf'
TO 'e:¥ora901¥oradata¥test901¥users01.dbf';
データベースが変更されました。 Page 7

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
7
≪ オンラインREDOログファイルの場合≫
上記コマンド実行後、以下のように開発系のファイルのPATHが変更されて
いることが確認できます。
(※f)手順eでOFFLINE DROPしたものはSTATUS列は
"RECOVER"となり、ファイルのPATHは本番系のままとなって
おりますが問題ございません。
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥redo01.log'
TO 'e:¥ora901¥oradata¥test901¥redo01.log';
データベースが変更されました。
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥redo02.log'
TO 'e:¥ora901¥oradata¥test901¥redo02.log';
データベースが変更されました。
SQL> ALTER DATABASE RENAME FILE 'c:¥v901¥oradata¥test901¥redo03.log'
TO 'e:¥ora901¥oradata¥test901¥redo03.log';
データベースが変更されました。
SQL> SELECT name,status FROM v$datafile;
NAME
STATUS
---------------------------------------- -------
E:¥ORA901¥ORADATA¥TEST901¥SYSTEM01.DBF SYSTEM
E:¥ORA901¥ORADATA¥TEST901¥UNDOTBS01.DBF ONLINE
C:¥V901¥ORADATA¥TEST901¥INDX01.DBF
RECOVER(※f)
C:¥V901¥ORADATA¥TEST901¥TOOLS01.DBF
RECOVER(※f)
E:¥ORA901¥ORADATA¥TEST901¥USERS01.DBF ONLINE Page 8

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
8
g.時間ベースの不完全リカバリを実行します。
該当オブジェクトを削除する前の時間を指定してください。
(時間について不明な場合はLogMinerを使用して解析・特定して
いただければと存じます。LogMinerの使用方法につきましては
本文書では割愛させて頂きます。)
SQL> SELECT * FROM v$logfile;
GROUP#
STATUS TYPE MEMBER
---------- ------- ------- --------------------------------------
3
ONLINE E:¥ORA901¥ORADATA¥TEST901¥REDO03.LOG
2
ONLINE E:¥ORA901¥ORADATA¥TEST901¥REDO02.LOG
1
ONLINE E:¥ORA901¥ORADATA¥TEST901¥REDO01.LOGPage 9

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
9
(例)
SQL> SET AUTORECOVERY ON
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL TIME '2004-01-1018:00:00'
ORA-00279: 変更279764(03/16/2004 06:51:37で生成)にはスレッド1が必要です
ORA-00289: 検討すべきログ・ファイル:E:¥ORA901¥ORADATA¥TEST901¥ARCHIVE¥1_4.ARC
ORA-00280: 変更279764(スレッド1)は順序番号4に存在します。
ORA-00279: 変更279790(03/16/2004 07:00:46で生成)にはスレッド1が必要です
ORA-00289: 検討すべきログ・ファイル:E:¥ORA901¥ORADATA¥TEST901¥ARCHIVE¥1_5.ARC
ORA-00280: 変更279790(スレッド1)は順序番号5に存在します。
ORA-00278:
ログ・ファイル'E:¥ORA901¥ORADATA¥TEST901¥ARCHIVE¥1_4.ARC'はこのリカバリでは必要
なくなりました
・・・・(中略)指定された時間までのアーカイブログが自動的に適用されます。
ORA-00279: 変更279798(03/16/2004 07:01:18で生成)にはスレッド1が必要です
ORA-00289: 検討すべきログ・ファイル:E:¥ORA901¥ORADATA¥TEST901¥ARCHIVE¥1_10.ARC
ORA-00280: 変更279798(スレッド1)は順序番号10に存在します。
ORA-00278:
ログ・ファイル'E:¥ORA901¥ORADATA¥TEST901¥ARCHIVE¥1_9.ARC'はこのリカバリでは必要
なくなりました
ログが適用されました。
メディア・リカバリが完了しました。Page 10

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
10
h. 不完全回復の後にはログ順序番号をリセットするため
RESETLOGS による起動が必要となります。以下のコマンドで
OPENしてください。
ログ順序番号がリセットされたことにより、今まで取得された
バックアップは無効となりますので、再度データベースのコールド
バックアップの取得を行ってください。
i. 以上の作業により、 削除してしまったオブジェクトが存在する状態の
データベースが作成されますので、該当オブジェクトに対しEXPORTを
実行し、IMPORTにより本番環境に戻して下さい。
開発系にて
本番系にて
j.本番系にて以下のSQL文を実行することと、削除された表がリカバリできている
ことが確認できます。
SQL> ALTER DATABASE OPEN RESETLOGS;
% EXP testuser/testuser FILE=testtable.dmp TABLES=test LOG=testtable_exp.log
% IMP testuser/testuser FILE=testtable.dmp TABLES=test LOG=testtable_imp.log
SQL> SELECT owner,segment_name,tablespace_name
2 FROM dba_segments
3 WHERE owner='TESTUSER' AND segment_name='TEST';
OWNER
SEGMENT_NAME TABLESPACE_NAME
--------------- --------------- ---------------
TESTUSER
TEST
USERS Page 11

Standard Vol.73
Copyright(C) K.K.Ashisuto All right Reserved
11
*5.補足*
権限を正しく管理することで、ユーザーが運用に与える被害を減らすことができ
ます。さらに、事前に効果的なリカバリ方法を計画するとユーザー・エラーのリ
カバリ作業を軽減できます。

alter database datafile ... offline drop

Dropping datafiles
Datafiles were not designed to be dropped. (See also Metalink note 111316.1) This is true even though there is alter database datafile offline drop.
However, if the datafile is the only datafile in its tablespace, it can be removed together with the tablespace:
DROP TABLESPACE ts_data INCLUDING CONTENTS;
With Oracle 10g Release 2, it's finally possible to drop a datafile as long as
it's not the only datafile within the tablespace, and
the tablespace is only and in read-write status
:
alter tablespace ts_something drop datafile '/path/to/datafile.dbf'

Fuzzy datafiles
A datafile that contains a block whose SCN is more recent than the SCN of its header is called a fuzzy datafile.

2007/09/05

ssh and firewall

firewall の内側の Debian マシンから, 外側にある Debian マシンへの ssh
の接続を試みているのですが, ちょっとつまづいております.

http://hp.vector.co.jp/authors/VA000770/docs/NikkeiLinux00-12/config.ja.html
を参考にしてやったことは以下の通りです.


Kernel 2.4.6 Microsoft Proxy Server 2.0
+----------------+ STDIN +------------+ +-----------+
| |------->| |-------| |
| ssh 2.5.2p2-3 | | proxy-klab | | web proxy |
| |<-------| command |<------| |
+----------------+ STDOUT +------------+ https +-----------+
Client Machine ^ |
https | | https
< inside > | |
----------Firewall--------------------------------+---+-----
< outside > kernel-2.2.19 | |
+-----------------+ | |
| |-----+ |
| ssh 2.5.2p2-3 | |
| port 443 |<--------+
+-----------------+
Server Machine


Firewall の内側にある, Microsoft Proxy Server 2.0 がうけつけているポー
トは, 80 番 (http) と, 21 番 (ftp) と, 443 番 (https) にあてたものだけ
です. やろうとしているのは, Firewall の外側にある Server Machine の
sshd サーバを, port 443 (https) で走らせ, FIrewall の内側の Client
Machine の ssh クライアントから, proxy-klab という perl script を介し
て, web proxy 経由で, Server Machine の https の 443 番ポートにアクセ
スし, ssh コネクションをはるということです.

そのために, まず, Firewall の外側にある Server Machine の
/etc/ssh/sshd_config において, 「Port 22」という記述を,「Port 443」に
書き変えて, 「/etc/init.d/ssh restart」とし, port 443 番 (https) で sshd を立ち上げ直しました.

次に, Firewall の内側にある Client Machine の ~/.ssh/config で,

Compression yes
Host ip.address.of.Server.Machine
Port 443
ForwardAgent yes
ForwardX11 yes
ProxyCommand /path/to/proxy-klab %h %p

としました. そして, 本メール末尾に添える proxy-klab という perl script
を用意し, 以下のようにすると,

# ssh -v -l UID ip.address.of.Server.Machine
OpenSSH_2.5.2p2, SSH protocols 1.5/2.0, OpenSSL 0x0090601f
debug1: Seeding random number generator
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: ssh_connect: getuid 1000 geteuid 1000 anon 1
debug1: Executing proxy command: /path/to/proxy-klab ip.address.of.Server.Machine 443
debug1: unknown identity file /home/UID/.ssh/identity
debug1: identity file /home/UID/.ssh/identity type -1
debug1: unknown identity file /home/UID/.ssh/id_rsa
debug1: identity file /home/UID/.ssh/id_rsa type -1
debug1: unknown identity file /home/UID/.ssh/id_dsa
debug1: identity file /home/UID/.ssh/id_dsa type -1

と, ここでネゴシエーションが止まってしまいます. この時, サーバ側には,

Jul 18 23:03:33 phys5 sshd[2222]: Did not receive identification string from ipp.address.of.client.Machine

というログが残っていました.

同様の環境で, proxy server が 「Microsoft Proxy Server 2.0」ではなく,
「squid-1.1.20」に変えたものだと, この方法で ssh で上手く外に出られる
ことは確認できています. したがって, 怪しいのは, この方法と MS の proxy
server との相性 (もしくは設定の違い) ということになるのですが, どなた
か同様の状況に遭遇された方はいらっしゃいますでしょうか. MS Proxy が返
すメッセージについてもう少し調べてみようと思いますが, 何でもよいので情
報を頂けたら有難いです. よろしくお願いします.

# Microsoft Proxy Server 2.0 の web proxy は ftp URL もうけつけるので
# すが, 愛用の ncftp だと外に出ることができません. Netscape では,
# ftp://UID:passward@ip.address.of.Server.Machine とアドレスを指定する
# と, うまくログインでき, ファイルのダウンロードはできるのですが, ファ
# イルのアップロードはできません. ncftp の作者は,
# FIREWALL-PROXY-README で「Note that NcFTP does _not_ work with HTTP
# proxies that accept FTP URLs. Why? Because they accept HTTP
# requests, silly, not FTP, which this program does.」とちょっとお怒り
# の様子です. ssh で上手く接続できれば ftp はいらないのですが,
# HTTP proxy を経由で, ftp で接続することができるクライアントがもしあ
# れば, 教えて下さい.

---
wada


# dpkg -l ssh
ii ssh 2.5.2p2-3 Secure rlogin/rsh/rcp replacement (OpenSSH)

# cat proxy-klab
#! /usr/bin/perl
$PROXY_KLAB = "ip.address.of.proxy.server";
$PROXY_KLAB_PORT = 80;
$Verbose = 0;

while ($_ = shift) {
last if ! /^-(.*)/;
if ($1 =~ /^v+$/) { $Verbose += length($&); next; }
print <<EOF;
Usage: proxy [option...]
Options:
-v Verbose mode
EOF
}
$HOST = $_;
if ($_ = shift) {
$PORT = $_;
} else {
$PORT = 23;
}
print "Verbose Level: $Verbose\n" if $Verbose;
use Socket;
($name, $aliases, $proto) = getprotobyname('tcp');
($name, $aliases, $type, $len, $thataddr) = gethostbyname($PROXY_KLAB);
$that = sockaddr_in($PROXY_KLAB_PORT, $thataddr);
socket(S, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(S, $that) || die "connect: $!";
if ($Verbose > 1) {
$Rin = &fhbits('STDIN S');
} else {
$Rin = &fhbits('S');
}
&login;
&connect;
exit 0;
# login 処理
sub login {
&receive(0.1);
&send("CONNECT $HOST:$PORT HTTP/1.0\r\n\r\n");
do { &receive(0.1); } until (/HTTP\/[\d\.]+ 200.*\n\n/);
$Raw =~ m/HTTP\/[\d\.]+ 200.*[\r\n]+/;
$Raw = $';
}
# connect
sub connect {
local($rout);
print "CONNECT\n" if $Verbose;
$Rin = &fhbits('STDIN S');
syswrite(STDOUT,$Raw,length($Raw));
while ((select($rout=$Rin,undef,undef,undef))[0]) {
if (vec($rout,fileno(S),1)) {
return if sysread(S,$_,1024) <= 0; # EOF
syswrite(STDOUT,$_,length);
}
if (vec($rout,fileno(STDIN),1)) {
return if sysread(STDIN,$_,1024) <= 0; # EOF
syswrite(S,$_,length);
}
}
}
# send(str);
# str を送る
sub send {
undef $Buffer;
undef $Raw;
while( $_ = shift ) {
print if $Verbose > 2;
syswrite(S,$_,length);
}
}
# receive(s);
# s 秒入力が途絶えるまで待つ
sub receive {
local($timeout) = shift;
local($rout);
while ((select($rout=$Rin,undef,undef,$timeout))[0]) {
if (vec($rout,fileno(S),1)) {
&abort if sysread(S,$_,1024) <= 0; # EOF
$Raw .= $_;
tr/\r\000\012\021\023\032/\n/d;
$Buffer .= $_;
print if $Verbose > 1;
}
if (vec($rout,fileno(STDIN),1)) {
&abort if sysread(STDIN,$_,1024) <= 0; # EOF
s/\n/\r/g;
syswrite(S,$_,length);
}
}
$_ = $Buffer;
}
sub fhbits {
local(@fhlist) = split(' ',$_[0]);
local($bits);
for (@fhlist) {
vec($bits,fileno($_),1) = 1;
}
$bits;
}
sub abort {
exit(1);
}


ssh を使った Firewall 越えの問題が解決したので報告致します.

From: wada@mail2.off.ne.jp
Subject: [debian-users:29218] ssh を使った Firewall 越え
Date: Thu, 19 Jul 2001 17:01:42 +0900

> firewall の内側の Debian マシンから, 外側にある Debian マシンへの ssh
> の接続を試みているのですが, ちょっとつまづいております.

> 次に, Firewall の内側にある Client Machine の ~/.ssh/config で,
>
> ProxyCommand /path/to/proxy-klab %h %p
>
> としました. そして, 本メール末尾に添える proxy-klab という perl script
> を用意し, 以下のようにすると,

Web proxy サーバの MS proxy 2.0 に telnet をかけてみたら, squid の時と
異なる反応を返してくるので, 用意した proxy-klab という perl script と
の相性が悪かったと思い, こいつを改造することを考えて ssh のプロトコル
を色々調べているうちに, 以下のソースに辿りつきました.

http://www.imasy.or.jp/~gotoh/connect.c

この connect.c をコンパイルし (gcc -o connect connect.c),
/etc/ssh/ssh_config もしくは ~/.ssh/config で,

Host Name
HostName Ip.Address.Of.Server.Machine
Port 443
#ProxyCommand /home/wada/bin/proxy-klab %h %p
ProxyCommand /home/wada/bin/connect -H Ip.Address.Of.Proxy.Server %h %p

としたらあっさり上手くいきました. お騒がせしましたがお蔭様で幸せになれ
ました.