# trimmean

ベクトルまたは行列のトリム平均

## 呼び出し手順

    m=trimmean(x[,discard [,flag [,verbose]]])

## パラメータ

x

  実数または複素数のベクトルまたは行列

discard

  オプションの0と100の間実数値で, 破棄するデータの部分を表します. discardが[0,100]の範囲でない場合, エラーが発生します.デフォルト値は discard=50 です.

flag

  オプションの文字列または実数パラメータで, xが行列の場合の動作を制御します. flagには以下の値を指定可能です : "all", 1, 2, r または c (デフォルトは flag="all") です. flag=r と flag=1 は等価です. flag=c と flag=2 も等価です.

verbose

  オプションの整数. 1に設定された場合, 冗長な ログが有効になります.デフォルトは0です.

## 説明

トリム平均は,最小スコアと最高スコアの一定の割合を破棄した後, 残るスコアの平均を求めることにより計算されます. 例えば,50%トリムはスコアの下位および上位25%を破棄し, 残るスコアの平均を求めることにより計算されます.

中央値は100%トリム平均,算術平均は0%トリム平均です.

トリム平均は,算術平均よりも極端なスコアの影響を明らかに より受けにくいです. このため,極端に歪んだ分布の場合に平均よりも標本化の変動への 影響を受けにくいです. 統計の効率は,統計が標本間で安定である度合です. これは,ある統計量の標本化の変動に対する感度が低い程,より効率的であると いうことです. 統計量の効率は,他の統計量の効率に対して相対的に観測され, このためしばしば相対効率と呼ばれます. 統計量Aが統計量Bよりも標準誤差が小さいとすると, 統計量Aは統計量Bよりも効率的ということになります. 2つの統計量の相対効率は内部分布に依存する可能性があります. 例えば, 正規分布では平均は中央値よりも効率的ですが, いくつかの極端に歪んだ分布ではそうではありません. 統計量の効率は推定の精度とみなすこともできます: 統計量がより効率的になると,パラメータの推定器としての より精度が高くなります. 正規分布の場合,トリム平均は平均よりも効率的ではありません.

あるベクトルまたは行列 `x`について, `t=trimmean(x,discard)` は, `discard/2`個の最大値と `discard/2`個の最小値を破棄した後, スカラー`t`に, `x`の全エントリの平均を返します.

`t=trimmean(x,discard,'r')` (または等価な, `t=trimmean(x,discard,1)`) は行ベクトル`t` の各エントリに `x`の各列のトリム平均を返します.

`t=trimmean(x,discard,'c')` (または等価な, `t=trimmean(x,discard,2)`) は列ベクトル`t` の各エントリに `x`の各行のトリム平均を返します.

この関数はベクトルまたは行列`x`の トリム平均を計算します.

あるベクトルまたは行列 `x`について, `m=trimmean(x,discard)` は, スカラーr`m`に`x`の 全エントリのトリム平均を返します.

`m=trimmean(x,'r')` (または等価な,`m=trimmean(x,1)` )は, 行ベクトル`m`の各エントリに `x`の各列のトリム平均を返します.

`m=trimmean(x,'c')` (または等価な,`m=trimmean(x,2)` )は, 列ベクトル`m`の各エントリに `x`の各行のトリム平均を返します.

## x がベクトルの時の例

以下の例では,データベクトルのトリム平均が計算され, デフォルトでdiscardの値は50となり,冗長なログが行われます. データは9個のエントリから構成されます. アルゴリズムはこのベクトルをソートし, インデックス3から7のみを保持し,インデックス1,2,8および9を飛ばします. 他の値よりも著しく大きい値4000は採用されません. このため,トリム平均の計算値は50となります.

    data = [10, 20, 30, 40, 50, 60, 70, 80, 4000];
    computed = trimmean(data,verbose=1);

## x が行列の時の例

以下の例では,データ行列のトリム平均が計算されます. 選択されたdiscardの値は50です. orientationは"r"でデータが行毎にソートされることを意味します. 行列の各列について,トリム平均が計算されます. トリム平均は行ベクトル [25 25 25 25]となります.

    data = [10 10 10 10
            20 20 20 20
            30 30 30 30
            4000 4000 4000 4000];
    computed = trimmean(data,50,orien="r");

## 参考文献

Luis Angel Garcia-Escudero and Alfonso Gordaliza, Robustness Properties of Means and Trimmed Means, JASA, Volume 94, Number 447, Sept 1999, pp956-969

Trimmed Mean, http://davidmlane.com/hyperstat/A11971.html