Hatena::ブログ(Diary)

Men talking over coffee with smoking Ark Royal.

2016-01-14

あなたの主張を幸せにする、妥当な論証を行うために必要な9つの論証形式

| 23:54 | あなたの主張を幸せにする、妥当な論証を行うために必要な9つの論証形式を含むブックマーク

戸田山和久, 2002, 『論文教室』, NHK出版. を参考にして書いています。)

(1)モードゥス・ポネンス

AならばBである。Aである。故に、Bである。

※妥当でない論証:AならばBである。Bである。故に、Aである。

(2)モードゥス・トレンス((1)の対偶

AならばBである。Bではない。故に、Aではない。

※妥当でない論証:AならばBである。Aではない。故に、Bではない。

(3)構成的ディレンマ

AかBのどちらかである。AだとするとCである。BだとしてもCである。故に、いずれにせよCである。

※反論するには、

a) 場合分けがすべての場合を尽くしていない

b) それぞれの条件文を疑う

(4)背理法

a) Aではないと仮定してみよう。そうすると・・・矛盾が生じてしまった。故に、Aである。

b) Aであると仮定してみよう。そうすると・・・矛盾が生じてしまった。故に、Aではない。

※矛盾が出たとは、

a) 最初に仮定したことに反する命題が出てきた

b) 仮定からBであるという命題とBではないという命題が両方でてきてしまった

(5)帰納法(弱い論証形式)

※注意事項は、

a) サンプルはできるだけ多くなければならない

b) サンプルはできるだけバラエティに富んでなければならない

c) 偶然的な一般化を疑わなくてはならない

d) 例外に目を向ける。ただし、例外はサンプル集団の典型的なメンバーの中にたくさん存在することを指摘されなければセーフ

(6-1)アブダクション(弱い論証形式)

Aということがすでに分かっている。Hと仮定すれば、なぜAなのかがうまく説明できる。他に、なぜAなのかをHと同程度に説明できる仮説はない。故に、おそらくHは正しい。

(6-2)仮説演繹法(弱い論証形式)

アブダクションの次に、仮説の確かめがなされることが多い

Hという仮説が正しいならば、Bということが成り立つはずだ。じっさいBである。故に、おそらくHは正しい。

※これは(1)モードゥス・ポネンスで挙げた妥当でない論証形式だが、これが妥当とみなされるのは以下のどちらかの条件が成り立っているからである。

a) Hの他にAをうまく説明してくれる対立仮説がない。

b) Hと同程度にAを説明してくれる対立仮説H'が、(6-3)対立仮説の反証によって退けられている。

(6-3)対立仮説の反証(モードゥス・トレンスの形式)

対立仮説H'が正しいならば、Cということが成り立つはずだ。しかしながら、実際はCではない。故に、H'は間違っている。

※ここでCとは、Hにもとづく新しい予言

(6-4)アナロジー(かなり弱い論証形式)

aは重要な点でbと似ている。bについてはcということが成り立っている。故に、おそらくaについてもcということが成り立つ。

※aとbが似ていることを主張するためにかなり長い論証が必要。

※似ているとしても、重要な点が似ているのでない場合は成り立たない。

2014-07-13

【重回帰モデル】回帰の診断(2)――変数はすべて適切か?

| 09:22 | 【重回帰モデル】回帰の診断(2)――変数はすべて適切か?を含むブックマーク

※重回帰モデルについての、小暮厚之先生の講義ノート(2012年)を基にした覚書です。

この記事は、「変数をとりあえず全部入れて回帰分析をして、これとそれが有意だったので、意味のある影響を持つ変数はこれとそれで〜」のような分析を駆逐したいという強い思いから書きました。

赤池先生の情報量基準を使って変数選択をして、真のモデルにできるだけ近づけたモデルから議論をしましょう!

回帰の診断:回帰モデルを推定した後に・・・

使用したデータなどは、前回(【重回帰モデル】回帰の診断(1)――異常な観測値はないか?)を参照してください。

AICとその修正版――回帰分析における変数選択の基準

※R2乗、自由度調整済みR2乗は基準足りえる根拠がない。

AIC(BIC)が小さいモデルほどよいモデルとみなす。

  • AIC:「将来の予測」に適する

AIC=n¥log(¥frac{RSS}{n})+2K

RSS: 残差二乗和, K=説明変数の個数

  • BIC:「現在及び過去の説明」に適する

BIC=n¥log(¥frac{RSS}{n})+¥log(n)K

AICによる説明変数の選択

> step(Term1.kaiki3, criterion="AIC", direction="forward")
Start:  AIC=228
LNFACE ~ LNINCOME + EDUCATION + NUMHH + d197


Call:
lm(formula = LNFACE ~ LNINCOME + EDUCATION + NUMHH + d197, data = Term1)

Coefficients:
(Intercept)     LNINCOME    EDUCATION        NUMHH         d197  
     2.0494       0.5749       0.1843       0.2824       5.0623  

AICは228で、先ほどのモデルと同じ変数が選択されました。

では、次に、TermLife.csvに入っていたすべての変数から変数選択を行います。

> names(Term2)
 [1] "GENDER"             "AGE"                "MARSTAT"           
 [4] "EDUCATION"          "ETHNICITY"          "SMARSTAT"          
 [7] "SGENDER"            "SAGE"               "SEDUCATION"        
[10] "NUMHH"              "INCOME"             "TOTINCOME"         
[13] "CHARITY"            "FACE"               "FACECVLIFEPOLICIES"
[16] "CASHCVLIFEPOLICIES" "BORROWCVLIFEPOL"    "NETVALUE"          
[19] "LNFACE"             "LNINCOME"          

> x = names(Term2[-c(11, 14, 19)])
> # xはTerm2からINCOME, FACE, LNFACEを除いたもの
> fmla = as.formula(paste("LNFACE~", paste(x, collapse="+")))
> fmla
LNFACE ~ GENDER + AGE + MARSTAT + EDUCATION + ETHNICITY + SMARSTAT + 
    SGENDER + SAGE + SEDUCATION + NUMHH + TOTINCOME + CHARITY + 
    FACECVLIFEPOLICIES + CASHCVLIFEPOLICIES + BORROWCVLIFEPOL + 
    NETVALUE + LNINCOME
> fmla #回帰分析のformulaを作成
LNFACE ~ GENDER + AGE + MARSTAT + EDUCATION + ETHNICITY + SMARSTAT + 
    SGENDER + SAGE + SEDUCATION + NUMHH + TOTINCOME + CHARITY + 
    FACECVLIFEPOLICIES + CASHCVLIFEPOLICIES + BORROWCVLIFEPOL + 
    NETVALUE + LNINCOME

> Term2.kaiki = lm(fmla, data=Term2)
> summary(Term2.kaiki)

Call:
lm(formula = fmla, data = Term2)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4824 -0.8606  0.1178  0.9367  4.0784 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)         5.111e+00  1.206e+00   4.239 3.14e-05 ***
GENDER              7.466e-01  3.916e-01   1.906 0.057716 .  
AGE                -1.635e-02  1.193e-02  -1.371 0.171575    
MARSTAT            -6.695e-01  4.624e-01  -1.448 0.148894    
EDUCATION           1.709e-01  4.674e-02   3.657 0.000310 ***
ETHNICITY          -3.945e-02  6.655e-02  -0.593 0.553799    
SMARSTAT            2.040e-01  1.998e-01   1.021 0.308321    
SGENDER            -3.914e-01  5.771e-01  -0.678 0.498272    
SAGE                1.103e-02  1.424e-02   0.775 0.439325    
SEDUCATION          4.239e-02  5.153e-02   0.823 0.411484    
NUMHH               2.448e-01  7.773e-02   3.149 0.001829 ** 
TOTINCOME           3.918e-09  2.844e-08   0.138 0.890536    
CHARITY             6.300e-06  2.452e-06   2.569 0.010769 *  
FACECVLIFEPOLICIES  4.933e-08  3.830e-08   1.288 0.198908    
CASHCVLIFEPOLICIES  1.175e-06  1.081e-06   1.087 0.278078    
BORROWCVLIFEPOL     5.244e-02  4.726e-02   1.110 0.268226    
NETVALUE            2.155e-02  2.412e-01   0.089 0.928890    
LNINCOME            3.342e-01  8.553e-02   3.907 0.000119 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.483 on 257 degrees of freedom
Multiple R-squared: 0.4104,	Adjusted R-squared: 0.3714 
F-statistic: 10.52 on 17 and 257 DF,  p-value: < 2.2e-16 

全部入れモデルでは、EDUCATION, NUMHH, CHARITY, LNINCOMEが有意になっています。これらの変数は選択されるのでしょうか。また、これら以外の変数は選択されないのでしょうか。

ここではもうひとつの情報量基準、BICを用いて変数選択をしてみます。

> step(Term2.kaiki, criterion="BIC", direction="backward")
Start:  AIC=234.2
LNFACE ~ GENDER + AGE + MARSTAT + EDUCATION + ETHNICITY + SMARSTAT + 
    SGENDER + SAGE + SEDUCATION + NUMHH + TOTINCOME + CHARITY + 
    FACECVLIFEPOLICIES + CASHCVLIFEPOLICIES + BORROWCVLIFEPOL + 
    NETVALUE + LNINCOME

                     Df Sum of Sq    RSS    AIC
- NETVALUE            1     0.018 565.40 232.21
- TOTINCOME           1     0.042 565.42 232.22
- ETHNICITY           1     0.773 566.15 232.57
- SGENDER             1     1.012 566.39 232.69
- SAGE                1     1.320 566.70 232.84
- SEDUCATION          1     1.489 566.87 232.92
- SMARSTAT            1     2.292 567.67 233.31
- CASHCVLIFEPOLICIES  1     2.599 567.98 233.46
- BORROWCVLIFEPOL     1     2.708 568.09 233.51
- FACECVLIFEPOLICIES  1     3.649 569.03 233.97
<none>                            565.38 234.20
- AGE                 1     4.135 569.51 234.20
- MARSTAT             1     4.611 569.99 234.43
- GENDER              1     7.995 573.37 236.06
- CHARITY             1    14.517 579.90 239.17
- NUMHH               1    21.821 587.20 242.61
- EDUCATION           1    29.415 594.79 246.15
- LNINCOME            1    33.584 598.96 248.07

# …中略…

Step:  AIC=221.35
LNFACE ~ GENDER + EDUCATION + NUMHH + CHARITY + FACECVLIFEPOLICIES + 
    BORROWCVLIFEPOL + LNINCOME

                     Df Sum of Sq    RSS    AIC
<none>                            580.28 221.35
- BORROWCVLIFEPOL     1     4.303 584.58 221.38
- FACECVLIFEPOLICIES  1     6.770 587.05 222.54
- GENDER              1    15.116 595.39 226.42
- CHARITY             1    18.088 598.36 227.79
- NUMHH               1    32.243 612.52 234.22
- LNINCOME            1    37.571 617.85 236.60
- EDUCATION           1    65.242 645.52 248.65

Call:
lm(formula = LNFACE ~ GENDER + EDUCATION + NUMHH + CHARITY + 
    FACECVLIFEPOLICIES + BORROWCVLIFEPOL + LNINCOME, data = Term2)

Coefficients:
       (Intercept)              GENDER           EDUCATION  
         3.611e+00           7.399e-01           2.082e-01  
             NUMHH             CHARITY  FACECVLIFEPOLICIES  
         2.446e-01           6.663e-06           5.732e-08  
   BORROWCVLIFEPOL            LNINCOME  
         6.133e-02           3.427e-01  

GENDER, EDUCATION, NUMHH, CHARITY, FACECVLIFEPOLICIES, BORROWCVLIFEPOL, LNINCOMEを用いるモデルが選択されました。最初の全部入れモデルよりもAICが234.2から221.35へと減少しました。

では、このモデルではどの変数有意となるのでしょうか。

> Term2.BIC = lm(LNFACE ~ GENDER + EDUCATION + NUMHH + CHARITY + FACECVLIFEPOLICIES + BORROWCVLIFEPOL + LNINCOME, data=Term2)
> summary(Term2.BIC)

Call:
lm(formula = LNFACE ~ GENDER + EDUCATION + NUMHH + CHARITY + 
    FACECVLIFEPOLICIES + BORROWCVLIFEPOL + LNINCOME, data = Term2)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.5707 -0.9019  0.1245  0.9090  4.1471 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        3.611e+00  8.877e-01   4.069 6.23e-05 ***
GENDER             7.399e-01  2.806e-01   2.637 0.008848 ** 
EDUCATION          2.082e-01  3.799e-02   5.479 9.89e-08 ***
NUMHH              2.446e-01  6.350e-02   3.852 0.000147 ***
CHARITY            6.663e-06  2.310e-06   2.885 0.004234 ** 
FACECVLIFEPOLICIES 5.732e-08  3.247e-08   1.765 0.078710 .  
BORROWCVLIFEPOL    6.133e-02  4.359e-02   1.407 0.160548    
LNINCOME           3.427e-01  8.241e-02   4.158 4.33e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.474 on 267 degrees of freedom
Multiple R-squared: 0.3949,	Adjusted R-squared: 0.379 
F-statistic: 24.89 on 7 and 267 DF,  p-value: < 2.2e-16 

全部入れモデルでは、EDUCATION, NUMHH, CHARITY, LNINCOMEが有意でしたが、変数選択後のモデルでは、GENDER, EDUCATION, NUMHH, CHARITY, LNINCOMEが有意で、新しくGENDER有意となりました。

このGENDERは全部入れモデルでは他の変数の影響を受けて、ゴチャゴチャになり埋もれていたと考えられます。変数選択は絶対ではありませんが、変数選択後のモデルを用いたほうが「真のモデル」により近い、誠実な結果が得られるはずです。

これを機に全部入れモデルだけから、「これとそれが有意だった」と結論付けるやり方はぜひ辞めてください。お願いします。

※多重共線性については次回に見送ります。

r_onodrr_onodr 2016/03/31 16:42 コメントありがとうございます。
不勉強で申し訳ございません。どういうものなのかご教授願えませんでしょうか。よろしくお願いいたします。

2014-05-25

【重回帰モデル】回帰の診断(1)――異常な観測値はないか?

| 03:26 | 【重回帰モデル】回帰の診断(1)――異常な観測値はないか?を含むブックマーク

※重回帰モデルについての、小暮厚之先生の講義ノート(2012年)を基にした覚書です。

回帰の診断:回帰モデルを推定した後に・・・

  • 異常な観測値はないか?(外れ値の検出)←今回はここをやります。
  • 変数はすべて適切か?(説明変数の選択[AIC, BIC]、多重共線性)←次回やります。

使用したデータ:2004年調査のSCF(Survey of Consumer Finances)から無作為に抽出した有収入の500世帯の中で、生命保険に加入している275世帯のデータ(TermLife.csv)。

分析の目的:生命保険に対する各家計の需要を説明したい。

各家計が加入する生命保険保険金額(FACE)を説明する。説明変数として、年収(INCOME)、世帯主の教育程度(EDUCATION)、世帯構成人数(NUMHH)を考える。

> # ファイルの読み込み
> Term = read.csv("./R/TermLife.csv", header=T)
> Term2 = subset(Term, subset=FACE > 0)  # Termから保険に加入した世帯(FACE>0)だけを取り出す。
> Term2$LNFACE = with(Term2, log(FACE)) # FACEの対数値
> Term2$LNINCOME = with(Term2, log(INCOME)) # INCOMEの対数値

ここで対数をとっているのは、重回帰モデルが正規分布を前提としたモデルだから。

対数変換することで、だいたいの変数の分布は正規分布に近づく。

> Term1 = subset(Term2, select=c(EDUCATION, LNFACE, LNINCOME, NUMHH))  # EDUCATION, LNFACE, LNINCOME, NUMHHのみからなるデータセットを作成する。
> summary(Term1)
   EDUCATION         LNFACE          LNINCOME          NUMHH     
 Min.   : 2.00   Min.   : 6.685   Min.   : 5.561   Min.   :1.00  
 1st Qu.:13.00   1st Qu.:10.820   1st Qu.:10.545   1st Qu.:2.00  
 Median :16.00   Median :11.918   Median :11.082   Median :3.00  
 Mean   :14.52   Mean   :11.990   Mean   :11.149   Mean   :2.96  
 3rd Qu.:16.50   3rd Qu.:13.288   3rd Qu.:11.695   3rd Qu.:4.00  
 Max.   :17.00   Max.   :16.455   Max.   :16.118   Max.   :9.00  

> cor(Term1) # 相関行列
           EDUCATION    LNFACE  LNINCOME      NUMHH
EDUCATION  1.0000000 0.3828489 0.3427036 -0.0635292
LNFACE     0.3828489 1.0000000 0.4818427  0.2876115
LNINCOME   0.3427036 0.4818427 1.0000000  0.1793354
NUMHH     -0.0635292 0.2876115 0.1793354  1.0000000

> Term1.kaiki = lm(LNFACE~LNINCOME+EDUCATION+NUMHH, data=Term1)
> summary(Term1.kaiki)

Call:
lm(formula = LNFACE ~ LNINCOME + EDUCATION + NUMHH, data = Term1)

Residuals(残差):
    Min      1Q  Median      3Q     Max 
-5.7420 -0.8681  0.0549  0.9093  4.7187 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
            (回帰係数) (標準誤差) (t値) (p値)
(Intercept)  2.58408    0.84643   3.053  0.00249 ** 
LNINCOME     0.49353    0.07754   6.365 8.32e-10 ***
EDUCATION    0.20641    0.03883   5.316 2.22e-07 ***
NUMHH        0.30605    0.06333   4.833 2.26e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.525 on 271 degrees of freedom
Multiple R-squared(R2乗): 0.3425,	Adjusted R-squared(自由度調整済みR2乗): 0.3353 
F-statistic(F統計量): 47.07 on 3 and 271 DF,  p-value(F統計量に対するp値): < 2.2e-16 

自由度調整済みR2乗値が0.335というのは、小さいのかどうか(回帰モデルが妥当かどうか)は、よくわからない経験則ではなく、F統計量から判断する。

判断方法は、「R二乗値なんて信仰にすぎない!」について(F統計量のお話)に記述してあります。

重回帰分析の仮定

  • 誤差項は平均がゼロ、分散が一定値¥sigma^{2}正規分布に互いに独立に従う
  • 誤差項と各説明変数は無相関

これらは、以下の5つの仮定に分けられる

  1. 誤差項の平均はゼロ
  2. 誤差項の分散は一定
  3. 誤差項は互いに独立
  4. 誤差項は正規分布に従う
  5. 誤差項と各説明変数の相関係数はゼロ

これらの仮定は、残差を見ることによって事後的に正否を判断できる

> # 残差の検討:外れ値
> e = resid(Term1.kaiki) # 残差
> se = sum(e^2)/271 # 残差標準誤差
> e.std = e/se # 標準化残差
> yhat = predict(Term1.kaiki) # 回帰予測値
>
> # 回帰予測値への標準化残差のプロット
> plot(yhat, e.std)
> abline(h=c(-1.96, 1.96), col="red")

誤差分散が不均一であると、誤差の標準誤差が誤って評価される。その結果、信頼区間や検定が信頼できないものとなる。

赤線の外側にあるものが外れ値。

f:id:r_onodr:20140526035609p:image:w360

> # 外れ値の検出
> names(e) # eの各値の名前はFACE<=0のものが抜けた飛び飛びの番号になっている
> names(e) = 1:length(e) # eの各値の名前を"1から271"に変更
> e[order(abs(e))]
          241          229          172 
4.704770582  4.718672358 -5.741985758 
> # abs(e)はeの絶対値
> # order(abs(e))は絶対値でのeの順番
> # e[order(abs(e))]は絶対値の順番でeを並び替え

異常値の検出

「今あるデータから主張した」というのではなく、違う場面でも当てはまるものであるべき。ロバストネス大事。異常値によって引っ張られた結果、回帰係数が偶然有意だった、とかいうのはその場限りの頑健性のかけらもない主張。

2つの外れ方

  1. 外れ値(utlier):残差が大きい観測値→被説明変数乖離を表す
  2. 影響値(influential observation):レバレジ(影響力)の大きい観測値→説明変数乖離を表す

レバレジ(影響力)

> library(car)
 要求されたパッケージ MASS をロード中です 
 要求されたパッケージ nnet をロード中です 
> influencePlot(Term1.kaiki, id.method="identify")

f:id:r_onodr:20140526042855p:image:w360

  • ハット値は、説明変数の外れ具合
  • ステューデント化残差は、被説明変数の外れ具合
  • 円の面積はクックの距離であり、2つの外れ具合両方を表すもの

※ここからは、疲れたので端折ってます。後日追記します(多分…)。

クックの距離

クックの距離は、被説明変数と説明変数の両方の外れ具合の指標。

> plot(Term1.kaiki, 4)

f:id:r_onodr:20140526151828p:image:w360

> cooks.distance(Term1.kaiki) #クックの距離の数値を取り出す
         352          355          356          357          360          361 
1.264793e-05 3.727564e-04 1.659352e-03 3.144669e-03 3.005157e-01 9.728116e-06 

360番目に対応する観測値は取り除いたほうがよさげなことが分かる。

外れ値の検出

> x = Term1
> rownames(x) = 1:nrow(x) # 行名を"1から275"に変更
> x[rownames(Term1)=="360",]
    EDUCATION   LNFACE LNINCOME NUMHH
197        17 14.57163 5.560682     4
> # 197番目の観測値が外れ値の候補となった!

ダミー変数による外れ値の処理

> x = rep(0, 275)
> x[197] = 1
> Term1$d197 = with(Term1, x) # 197番目以外は0のベクトル
> Term1.kaiki2 = lm(LNFACE~EDUCATION+LNINCOME+NUMHH+d197, data=Term1)
> summary(Term1.kaiki2)

Call:
lm(formula = LNFACE ~ EDUCATION + LNINCOME + NUMHH + d197, data = Term1)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.8399 -0.8279  0.0302  0.8748  4.9129 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.04945    0.84925   2.413  0.01648 *  
EDUCATION    0.18433    0.03882   4.749 3.33e-06 ***
LNINCOME     0.57489    0.08043   7.148 8.25e-12 ***
NUMHH        0.28237    0.06272   4.502 1.00e-05 ***
d197         5.06235    1.58934   3.185  0.00162 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.5 on 270 degrees of freedom
Multiple R-squared: 0.3664,	Adjusted R-squared: 0.357 
F-statistic: 39.03 on 4 and 270 DF,  p-value: < 2.2e-16 

d197のt値が有意ということは、197番目の観測値がほかの観測値とは異なる(=外れ値)であるということを意味する!

・・・というわけで、回帰診断その1はここまでです。

2014-04-27

フロイト「集団心理学と自我分析」のまとめ

| 20:12 | フロイト「集団心理学と自我分析」のまとめを含むブックマーク

Freud, S., 1921, Massenpsychologie und Ich-Analyse, (藤野寛訳「集団心理学自我分析」, 『フロイト全集 17』, 岩波書店, 129-133, 2006年)

  • I 緒言
  • II ル・ボンによる集団の心の叙述
  • III ル・ボン以外の集合的な心の生活の評価・検討
  • IV 暗示とリビード
  • V 二つの人為的な集団 教会と軍隊
  • VI これに続く課題と仕事の方向性
  • VII 同一化
  • VIII 恋着と催眠状態
  • IX 群棲欲動

2011年のはじめにノートにまとめたものをデジタル化してみました。頁数は全集のものです。

I 緒言

 「両親や兄弟姉妹、愛する人や友人、教師、医師に対する関係においては、個人が経験するのは、
いつもただ一人の、あるいは、きわめて少数の人間からの影響にすぎない。」130
  →「それらの人たちの各々が個人にとって重大な意義を獲得している。」130

 ▼2つの方向性(予想)
  i)社会的欲動―群棲本能(herd instinct)、集団の心(group mind)―は、決して根源的でも
それ以上分解不可能でもない。
  ii)社会的欲動が形成される発端はもっと狭い範囲(家族など)に見いだされる。
 ←→社会心理学では、個人が多数の人間から同時に影響を受けると想定。

II ル・ボンによる集団の心の叙述

 ▽「個人が、特定の条件のもとでは、その人から予想されるのとはまるで違った風に感じ、考え、
行為するという驚くべき事実」132
  特定の条件:「『心理的な集団』という特性を獲得するに至った人間の集団に組み入れられる」

 ▼3つの問い
 (1)「集団」とは何であるのか?
 (2)個々人の心の生活にそれほどにも決定的に影響を及ぼす能力を、集団はなにによって獲得するのか?
 (3)集団が個々人に強いてくる心の変化は、どの点に存ずるものなのか?

 (3)集団が個々人に強いてくる心の変化は、どの点に存ずるものなのか?
  ▽もし、集団の中で個人が一つのまとまりへとたばねられているのだとすれば、
そこにはきっと彼らを互いに一緒に拘束する(binden)何かが存在する。
   →この「拘束する何か」が集団にとって特徴的な何かである。

  ▼集団の中に身を置く個人が示す主要な特徴
  ・平均的な性格:「個々個々のもとできわめて多様に発達してきた心的上部構造は取り払われ無力化され、
誰に会っても同質の無意識の土台が力を揮うようになる」134
   →「社会的不安」を核とする良心が消滅し、無意識の欲動の蠢きへの抑圧を払いのけることを許す。
  ・伝染:集団の個々のメンバーが相互に及ぼし合う影響
  ・集団内部の暗示現象:集団にとって催眠術師の代わりとなる人物
  ・個人が集団の中に埋没することによって経験する知的な働きの低下

 ▽「ル・ボンによる集団の心のスケッチ」138-44

III ル・ボン以外の集合的な心の生活の評価・検討

 ・ル・ボン:i)集団の中では、知的営為が集合的に制止される。 ii)集団の中では情動が昂進する。
 ・ル・ボンの独創:iii)無意識についての見解。iv)原始人の心の生活との比較。
 ・集団の心への高い評価:v)集団の道徳性が、事情次第ではそれを構成する個々人の道徳性より高いものとなりうる。
      vi)全体へとまとまった人々しか高度の非利己性や献身への能力を示すことはない。
 ★これらは、「一時的な利害関心に基づいて様々に異なる個人から大急ぎでまとめ上げられた」147 集団についての考察(e.g.フランス革命)
  →安定した集団あるいは社会形態はどう評価・検討されるか?

 ▼マクドゥーガル『集団の心』, ケンブリッジ, 1920年
  ・人間がたまたま吹き寄せられて群衆(crowd)となった状態から、
そのメンバーたちの間に心理学的な意味での集団の形成の条件
   →メンバー間が互いに何かを共有する
    i)ある対象への共通の関心
    ii)ある状況下で感情が同一の方向に向かうこと
     →互いに影響を及ぼし合う一定程度の能力

     ★この能力による<<精神的同質性>>[条件]
   →<<情動の昂揚あるいは強化>>[条件]

    ・「無制限に自らの情熱に身を委ね、その際集団の中に埋没したり、個人として限界づけられているという感情を失うことが、当人にとっては、喜ばしい感覚なのだ。」148
     →これを「感情伝染」から説明

      ・自動的に起こる強迫
      ・個人の情動が相互の誘発によって高まり続ける
      ・「他の人と同じように」「多くの人と調和する」といった強迫が作動
       →新しい権威の担い手となる!
        →新しい権威への服従:多くのことが制止される。
「良心」の活動を停止することが認められる。
制止を棚上げにすることで確実に達成される快の獲得という誘惑に属することが許される。
確たる自己意識も自尊心も責任感もなくなる。
         →集団は子供や野蛮人のように振る舞う。
     ←→これらの欠点を取り除き、心の生活をより高い水準に引き上げ、「高度に組織化された集団」とするには?

▽高度に組織化された集団を形成する主要な5条件
	1.集団の存続の一定の持続性
		→「地位」の割り当て
	2.集団内の個人に、集団の本性、機能、鋭意、要求について一定の表象が形成されること
		→個人にとって集団に対する感情的関係の発生
	3.類似した集団とのライバル関係
	4.メンバー相互の関係に関わるような、伝統、習慣、行事を持つこと
	5.割り当てられる仕事に関して、種別化・細分化による組織体系が存在すること

	<課題> 「個人に特徴的であったのに集団形成のせいで個人の中から消え失せてしまった特性を、
集団にも作り出してやること」151

IV 暗示とリビード

<問い>
「集団の中で個人の情動性は法外に高められ、知的鋭意は目に見えて制限される」のはなぜか?
	→「何故われわれは、集団の中では判で捺したようにこの伝染なるものに従うのか?」

<主張>
「集団が及ぼす暗示的影響こそが模倣の性向に従うようわれわれに強要し、この情動をわれわれのうちに誘発する」154
	→「暗示されやすさこそ、人間の心の生活の、それ以上何ものにも還元不可能な、根源現象、基本事実である」154

→「暗示というものの背後に隠されている」「愛の関係」(=感情の拘束)がある
	1.集団をまとめ上げる力はリビードであると考えられる
	2.個人が独自性を放棄し、他者による暗示にかかるにまかせるのは、「彼らへの愛から」と考えられる
	・・・という着想の上に、この主張を基礎づける

V 二つの人為的な集団 教会と軍隊

教会と軍隊――高度に組織化され持続的で人為的な集団
・人為的な集団
	→集団を解体から守り、構造面での変化を遅らせるために外部から一定の強制が加えられる
・このような集団にまかり通っている「まやかし(錯覚)」
	→首長(キリスト、隊長)が集団のすべての個人を等しい愛情を持って愛している
	★すべてはこのまやかし(錯覚)にかかっている!
	・教会:それぞれの個人がキリストに拘束されていることが、彼ら相互の拘束の原因でもある
	・軍隊:それが集団の階層構造から成り立っている

軍隊のリビード的構造と戦争神経症
・軍隊のリビード的構造は集団の階層構造から形成される
	1.隊長は自分の兵隊皆を等しく愛する父親であって、だからこそ兵隊たちは互いに戦友なのである
	2.大尉の一人一人が、彼の舞台のいわば隊長にして父親
	3.下司官一人ひとりも、彼の小隊の隊長にして父親
	→このリビード構造の軽視が戦争神経症の一因となった
	「戦争神経症とは、その大部分が、軍隊の中で自分に割り当てられた役割に対して個々人が示した反発であった」162
	※一兵卒が上官から心ない仕打ちを受けたことが病因の上位

集団の本質は、集団の中にあるリビード的拘束のうちに存する
・パニック現象からの示唆
	…その集団が壊れていくとき、不安があまりにも大きくなってしまった結果、
他者への配慮や拘束がかなぐり捨てられてしまう
	→不安がなぜそれ程にも巨大になるのか?
		…パニック的不安は、集団のリビード的構造が緩んでしまったことを前提とし、
その弛緩へのもっともなやり方での反応

		※危険に対する不安のせいで集団のリビード的拘束が壊れてしまったという話ではない!

	★パニックは、全員に襲いかかる危険の増大か、あるいは、集団を一つにまとめ上げる感情の拘束が
断たれることによって起こる
	※これは「神経症的不安」に対応している

集団は、先端部を割ったときのボローニャ瓶のように粉々に飛散する
ガイ・ソーン『暗くなること』における宗教的集団の解体とその帰結

・宗教集団の解体において現れ出てきているのは、「不安」ではなく、「他の人々に対する容赦のない敵対的衝動」である
	※これは、キリストの平等な愛のおかげで、表面に現れることができなかったもの

VI これに続く課題と仕事の方向性

・人為的集団を拘束する二種類の感情
	1.指導者への拘束 ※重要な役割!
	2.集団化した個人相互の拘束
	→これらの拘束が作り出されていない間は、いまだ集団ではない!

・指導者を持つ集団と欠く集団の相違は?
	1.指導者を持つ集団のほうがより根源的でより完全な集団ではないか?
	2.他の集団にあっては、指導者は、理念という抽象的なものによって置き換えられているのではないか?
	3.共通の性向や多数の人々が与っている欲望も、同じ代替のはたらきをしているのではないか?
	※理念と指導者の関係は?
	
・集団を特徴付けるのはリビード的拘束
	・ヤマアラシのジレンマ
	・比較的長続きする二者の親密な感情的関係
		→拒否的で敵対的な感情の澱をふくんでいる
		※抑圧のおかげで知覚されないに過ぎない
		この抑圧は複数の人間が団結してより大きな単位にまとまるときに解放される

・感情の両価性
	・他ならぬ親密な関係故に利害葛藤のきっかけもまた幾重にも重なっている
	・ナルシシズムの表現
		「ナルシシズムは自己主張をめざすもので、少しでも自らの個人的発達からの逸脱が起こると、
まるでそれが自分に対する批判を、そして、自分を作り替えろという要請を伴っているとでも言わんばかりに
振舞うのである。」170
		→「人間のこの振舞いの中には、憎悪への用意が、攻撃性が告知されているのであり、
その由来は知られておらずとも、それが人間の基本的な性格であることは認められてよいだろう。」170
		★「ところが、こういった非寛容のすべてが、集団形成によって、そして集団の中では、
一時的あるいは持続的に消失する。」170
		=「個人はまるで自分たちが同型の存在であるかのように振舞い、他人の独特さを我慢し、
その人にあわせ、その人にいかなる反発も感じない」1701 ※ナルシシズムの制限!
		→これは「他人に対するリビードの拘束」を契機として起こる
		★利害関心に基づく共同性も、協力関係の場合は仲間同士の間にきまってリビード的拘束が生み出される
		
・「ただ愛だけがエゴイズムから利他主義への転換という意味で文化要因として働いてきた」1723
	※そこでの愛は、助成に対する性愛には限定されない
	★それは、共同の仕事と結びついて生まれる、脱性愛化され昇華された他の男性に対する同性愛を含む 172

・集団形成の本質が、集団のメンバー相互間における新しいタイプのリビード的拘束のうちに存する
	∵ナルシス的自己愛の制限という、集団の外部では作動しない現象が示唆している
	→このリビード的拘束とは?
		1.欲動が性的目標から逸らされる事態
			→恋着(Verliebtheit)の度合い ※自我の一定の損傷を伴う
			→集団内における拘束へと転移可能な関係を恋着の度合いに見いだせるのではないか?
		2.他の機制としての「同一化」
			→しばらく主題を離れて「同一化」の研究を!

VII 同一化

▽同一化は精神分析において他の人格への感情的拘束の最も初期の発見
・同一化は、エディプスコンプレックスの前史の中でひとつの役割を演じる。
	=彼は父親を自分の理想とする(お父さんのようになりたい、お父さんのようでありたい、代わりをつとめたい)
	※この態度は、受動的姿勢、女性的姿勢とは何の関係もない、「すぐれて男性的なもの」
	→エディプスコンプレックスと相性がよく、その下準備をする
	・この同一化と同時/それ以前に、依託型に従って、母親に対する正式の対象備給をはじめる。

★彼は心理学的に異なる二つの拘束を示す
	1.性的な対象備給→母親
	2.模範への同一化→父親
	→心の生活が統一に向かうプロセスでこの両者は出会う

		→エディプスコンプレックスの成立
		1.男の子は、母親を得ようにも父親が邪魔していることに気づく
		2.父親との同一化はいまや敵対的な色調を帯び始める
		3.母親に対する関係は父親に取って代わりたいという欲望と一つになる

▼同一化は始めから両価的なのであって、
	1.情愛の表現に変わりうると同様、
	2.除去への欲望にも変わりうる
	※同一化は……口唇期のひとばえであるのかのように振舞う

▽父親との同一化がたどる運命
・後に視界から見失われうる
	→エディプスコンプレックスの逆転が生じうる
	=女性的な姿勢の中で、直接的な性欲動が充足を期待する対象として父親が選ばれる
	→父親との同一化は、父親への対象的拘束の先駆けとなる
	★父親が、そうありたい存在から、それをもちたい存在へ
	=拘束が、自我の主体において着手されるか、客体において着手されるか
	∴同一化は、どんな性的対象関係にも先立って既に可能

▼部分的で極めて限定された同一化――対象選択の同一化への退行
・「咳」込む少女の症例
	―この咳は母親と同一の症状(=同一化)
	→この母親を敵視し、それに取って代わりたいという願望
		―症状は、父親を対象とする愛を表現
		※罪責意識の影響が症状にみられる

	★「同一化が対象選択の代わりになった。対象選択は同一化に退行したのだ」175
	※抑圧が起こり、無意識の機制が支配しているところ(症状形成がなされる状況)では、
往々にして、対象選択が再び同一化となる
	=自我が対象の性質を帯びるようになる

	★この同一化にあっては、自我は愛していない人物を模倣する場合も、愛する人物を模倣する場合もある
	※どちらの場合も同一化は部分的で極めて限定されたもので、「対象となる人物のただ一つの特徴しか借りてこない」176,7

▽同一化が、模倣される人物に対する対象的関係をまったく捨象してしまう
	・「秘密のラブレター」→ヒステリーの心的感染
	→同じ立場に身を置くことができる、もしくは置きたいと欲することに基づく同一化の機制
	→他の少女たちも秘密の恋愛関係を持ちたい
	→罪責意識の影響のもと、それと結びついた苦しみまで受け継ぐ
	※心的感染は同情から起きた、のではなく、同情は同一化が起こってそこからようやく成立する
	→「症状を通してのこの同一化は、そういうわけで、両者の自我が重なりあう場所を示す目印になっている」176

■要約
1.同一化こそは対象への感情拘束の最も根源的な形態である
2.同一化は退行的な経過をたどり、いうなれば、対象を自我の中に取り込むことを通して、対象へのリビード的拘束に対する代替物になる
3.同一化は、性欲動の対象ではない人物との間にであれ、共通点が新たに知覚される度ごとに成立しうる
※この共通点が重要であればあるほど、それだけ一層この部分的同一化は首尾よく行われ、新たな拘束の端緒になる

★集団化した個人の相互の拘束は、重要な情動的共通点に基づく同一化を本性とする
	※この共通点は、指導者に拘束されることのうちに存在する

★「対象の影が自我の上に落ちてくるのだ」179――対象の取り込み

★元来のナルシシズムの相続人としての「自我理想」という審級

★同一化は、共有された実体を承認することに基づくケースもある

★集団化した個人の相互の拘束は、重要な情動的共通点に基づく同一化を本性とする
	※この共通点は、指導者に拘束されることのうちに存在する

★「対象の影が自我の上に落ちてくるのだ」179――対象の取り込み

★元来のナルシシズムの相続人としての「自我理想」という審級

★同一化は、共有された実体を承認することに基づくケースもある

▼「自我理想」
・機能:自己観察、道徳的良心、夢の検閲、抑圧に際しての主要な影響
・発生:「その審級は、子供の自我がその中で自足していた元来のナルシシズムの相続人である。
それは周囲の影響を受け、周囲から自我に向けられる要請を徐々に受け入れていくのだが、
自我の方では常にその要請に応えられるとは限らない。その結果、人間は自分自身の自我に満足できない場合でも、
自我とは区別された自我理想の内に満足を見出すことが許されるようになる」178,9

VIII 恋着と催眠状態

▼性的過大評価(理想化)の問題
・恋着にあっては対象に向かって、より大きな度合いのナルシス的リビードが溢れ出している
→対象が自分の自我のように処遇されている

=対象が、到達できない自分の自我理想の代わりをする

★「対象は自我の代わりに置かれるのか、それとも自我理想の代わりなのか」185

・同一化:対象を取り込んだ分だけ自分も豊かになった
・最高度の恋着:自我は貧しくなった。対象に身を捧げ、自らのもっとも重要な部分に代えてその対象を据えた

▽集団のリビード的構成のための定式
・一人の指導者をもち、過度の「組織化」によって二次的に一個体の性質を獲得できるのに至ったのではない集団(=一次的集団)
・「そのような一次的集団は、同じ一つの対象を自我理想の代わりに置き、その結果、
自我が互いに同一化してしまった相当数の個人からなる」188
→個人における自立性と自発性の欠如や、個人の反応と他のすべての人のそれとの同質性(集団化した個人への転落)の説明には十分

IX 群棲欲動

・「依存」:個人の散発的な感情の蠢きや、人格的で知的な行為があまりにも弱すぎて、
単独では効力を発揮することができず、他者の側から同種の反復によって強化されるものを
当てにせねばならないような状態

・「子供部屋や学校の教室の中で嫉妬心が集団感情へと変換され代替される」193
	→社会の中で共同精神、団体精神等々として働いているものも、元来は妬みに由来する
	=「誰一人目立とうと欲するべきではないし、各人が同じものであり、同じものをもつべきだ。
人は自ら多くのことを諦め、そのことによって他の人々もまたそれを断念せねばならなくなるようにすること、
あるいは同じことだが、それを要求することが出来なくなるようにすること」194
	→これが「社会的正義」であり「平等への要求」となる
	→社会的良心と義務感情の根である
	
・対等な処遇が首尾一貫して行われるように要求される
★「社会的な感情」の発生
	最初は敵対的だった感情が、同一化を本性とする肯定的に強調された拘束へと方向転換された結果、
「社会的な感情」が生まれる
	→この変換は、集団の外部に身を置く人物との情愛のこもった共通の拘束の影響下に実行される
	※集団の外部に身を置く人物とは、たとえば、両親(←子ども)、学校(←児童)、歌手(←ファン)
	★人間とは「群族をなす動物」
		→「すべての個人は互いに対等であるべきだ。しかし、彼らは誰もが一人の人に支配されることを望むのだ」195

2014-04-26

簡単で効率的♪ Pythonをつかって、Nグラム表をささっと作成する

| 01:31 | 簡単で効率的♪ Pythonをつかって、Nグラム表をささっと作成するを含むブックマーク

前回に引き続き、Nグラムの話です。タイトルをクックパッドぽくしてみました。nグラム表を作って、そこからフレーズを取り出してみます。以下の文献を参考にしました。

長尾眞, 森信介, 1993, 「大規模日本語テキストのnグラム統計の作り方と語句の自動抽出」, 情報処理学会研究報告. 自然言語処理研究会報告 93(61), 1-8

1993年の文献だけあって、「処理能力が向上」、「64MBのメモリ」などなど懐かしさこみあげる文言が踊っています。それだけあって、いかに効率的にやるかという点に焦点があてられています。やはり、人の営為を研ぎ澄ませるのはいつでも制約条件ですね。

まずは下ごしらえです。L文字の文章資源を、i=1,2..文字目からL文字目までのL本の文字列にして、それを辞書順にソート、前後の文字列が何文字目まで同一かを調べます。

from collections import defaultdict

raw_string = お手元の文章資源(ここでは参院選期間中の候補者のツイートを使用)
# 改行コードと半角スペースをなきものにしちゃったけどいいのかな…。
raw_string = raw_string.replace(u"\n",u"").replace(u" ",u"")

# 下ごしらえ
# i文字目からlen(raw_string)文字目までのlen(raw_string)本の文字列をつくる
strings = []
for i in range(len(raw_string)):
	strings.append([raw_string[i:], i])

# 辞書順で並び替え(時間掛かる)
strings = sorted(strings, key=lambda x:x[0])

# i番目の文字列とi+1番目の文字列は、なん文字目まで一致するか?(最大MAX_N文字に設定)
MAX_N = 12
for i in range(len(strings)-1):
	count, _MAX_N = 0, MAX_N
	if len(strings[i][0]) < MAX_N or len(strings[i+1][0]) < MAX_N: # 文字列の長さがMAX_N未満の場合
		if len(strings[i][0]) < len(strings[i+1][0]):
			_MAX_N = len(strings[i][0])-2
		else:
			_MAX_N = len(strings[i+1][0])-2
	for j in range(_MAX_N):
		if strings[i][0][j] == strings[i+1][0][j]:
			count += 1
		else:
			break
	strings[i].append(count)
	#if len(strings[i]) < 3: strings[i].append(count)
	#else: strings[i][2] = count

nグラム表をつくる関数を定義して、試しに10グラム表を出力してみます。論文を読んでいて、ここが一番美しかった!

# nグラム表と、n文字列の左右の1文字辞書(あとで使う)の作成
l_str, r_str = defaultdict(list), defaultdict(list)
def make_ngram_table(raw, strs, n_gram, l_str=l_str, r_str=r_str):
	ngram_table = defaultdict(int)
	for i in range(len(strs)-1):
		if len(strs[i][0]) < n_gram: continue # 文字列の長さがn数未満の場合はスルー
		if strs[i][2] >= n_gram:
			ngram_table[strs[i][0][:n_gram]] += 1 # nグラム表(dict)を作成
			if strs[i][1] != 0: l_str[strs[i][0][:n_gram]].append(raw[strs[i][1]-1]) # 左の1文字辞書へ追記
			r_str[strs[i][0][:n_gram]].append(strs[i][0][n_gram]) # 右の1文字辞書へ追記
	return ngram_table

# 試しに10グラム表を作ってみる
ngram_table = make_ngram_table(raw_string, strings, 10)
# 頻度30回以上に絞り込んで、頻度が高い順にソート
ngram_table_30 = sorted([n for n in  ngram_table.items() if n[1] >= 30], key=lambda x:x[1], reverse=True) 
# 10文字列|頻度 となるように出力
for nstring in ngram_table_30:
	print u"%s|%s" % (nstring[0], nstring[1])
# tp://t.co/|252
# ttp://t.co|252
# http://t.c|252
# (BOT)#石田まさ|124
# OT)#石田まさひろ|124
# BOT)#石田まさひ|124
# す(BOT)#石田ま|85
# 。http://t.|79
# ます(BOT)#石田|66
# ブログを更新しました|45
# ログを更新しました。|45
# ...http://|42
# .http://t.|42
# ..http://t|42
# 』http://t.|40
# す。http://t|37
# グを更新しました。『|36
# ます。http://|31

続いて、n文字列の左右の1文字のレパートリが多い場合に、そのn文字列がひとつの塊である可能性が高いという仮説のもと、先ほど作ったl_str, r_strを利用して、塊の可能性が高いものを出力してみます。

# n文字列の左右の1文字のレパートリが多いとき、単語の可能性が高いと仮定し、それを出力する
def extract_words(ngram_table, freq_thres, lr_thres, l_str=l_str, r_str=r_str):
	for w in ngram_table.items():
		if w[1] >= freq_thres:
			lr_count = len(list(set(l_str[w[0]]))) + len(list(set(r_str[w[0]])))
			if lr_count >= lr_thres:
				print u"%s|%s|%s" % (w[0], w[1], lr_count)



# In [329]: extract_words(make_ngram_table(raw_string, strings, 10), 10, 10)
# Out [329]:
# 単語(候補)|頻度|左右の文字の種類数
# ありがとうございます|24|20
# (BOT)#石田まさ|124|10
# ブログを更新しました|45|30
# tp://t.co/|252|61
# ...http://|42|16
# 』http://t.|40|23
# OT)#石田まさひろ|124|50
# 次の@YouTube|12|12
# りがとうございます。|14|12
# 。http://t.|79|15
# 新しい写真をFace|17|13
# グを更新しました。『|36|15
# http://t.c|252|35
# せていただきました。|12|12

このあと論文は、塊をうまく取り出す方法を幾つか提案しているのですが、それはまた後日ということで今日はここまで。