Main Content

gardnerAltmanPlot

2 標本の効果量のガードナー-アルトマン プロット

R2022a 以降

    説明

    gardnerAltmanPlot(X,Y) は、XY のデータの平均差効果量を示すガードナー-アルトマン プロットを生成します。

    gardnerAltmanPlot(ax,X,Y) は、ハンドル ax の座標軸にプロットします。

    gardnerAltmanPlot(___,Name=Value) では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、計算する効果量のタイプを指定したり、ブートストラップ信頼区間を計算する際に使用するブートストラップ複製の数を指定したりできます。

    H = gardnerAltmanPlot(___) は、グラフィックス配列 H を返します。

    すべて折りたたむ

    フィッシャーのアヤメのデータを読み込み、中央値差効果量を計算する変数を定義します。

    load fisheriris
    species2 = categorical(species);
    x = meas(species2=='setosa');
    y = meas(species2=='virginica');

    2 つの独立した標本から観測値の中央値差効果量を計算します。

    effect = meanEffectSize(x,y,Effect="mediandiff")
    effect=1×2 table
                            Effect    ConfidenceIntervals
                            ______    ___________________
    
        MedianDifference     -1.5        -1.8    -1.3    
    
    

    既定では、関数 meanEffectSize は標本が独立している (つまり Paired=false) と仮定します。効果のタイプが中央値差の場合、この関数はブートストラッピングを使用して信頼区間を推定します。

    ガードナー-アルトマン プロットを使用して中央値差効果量を可視化します。

    gardnerAltmanPlot(x,y,Effect="mediandiff");

    Figure contains an axes object. The axes object with title Gardner-Altman Plot contains 5 objects of type scatter, line, errorbar. These objects represent X, Y, X Median, Y Median, Median Difference.

    ガードナー-アルトマン プロットの左側に 2 つのデータ標本が表示されます。標本 Y の中央値は、効果量の軸 (右側にある黄色の軸の線) における効果量ゼロに対応します。標本 X の中央値は、効果量の軸における効果量の値に対応します。実際の中央値差効果量の値と信頼区間が垂直方向の誤差範囲と共にプロットに表示されます。

    フィッシャーのアヤメのデータを読み込み、Cohen の d 効果量を比較する変数を定義します。

    load fisheriris
    species2 = categorical(species);
    x = meas(species2=='setosa');
    y = meas(species2=='virginica');

    2 つの独立した標本から観測値の Cohen の d 効果量を計算し、効果量の 95% 信頼区間を計算します。既定では、効果量のタイプが Cohen の d の場合、関数 meanEffectSize は非心 "t" 分布に基づく厳密な式を使用して信頼区間を推定します。ブートストラッピング オプションを次のように指定します。

    • meanEffectSize での信頼区間の計算にブートストラッピングを使用するように設定します。

    • ブートストラッピングの計算に並列計算を使用します。このオプションには Parallel Computing Toolbox™ が必要です。

    • 3000 のブートストラップ複製を使用します。

    rng(123) % For reproducibility
    effect = meanEffectSize(x,y,Effect="cohen",ConfidenceIntervalType="bootstrap", ...
          BootstrapOptions=statset(UseParallel=true),NumBootstraps=3000)
    Starting parallel pool (parpool) using the 'Processes' profile ...
    Connected to the parallel pool (number of workers: 6).
    
    effect=1×2 table
                   Effect     ConfidenceIntervals
                   _______    ___________________
    
        CohensD    -3.0536    -3.5621    -2.3468 
    
    

    ガードナー-アルトマン プロットで同じオプションの設定を使用して Cohen の d 効果量を可視化します。

    gardnerAltmanPlot(x,y,Effect="cohen",ConfidenceIntervalType="bootstrap", ...
          BootstrapOptions=statset(UseParallel=true),NumBootstraps=3000);

    Figure contains an axes object. The axes object with title Gardner-Altman Plot contains 5 objects of type scatter, line, errorbar. These objects represent X, Y, X Mean, Y Mean, Cohen's d.

    ガードナー-アルトマン プロットの左側に 2 つのデータ標本が表示されます。標本 Y の平均値は、効果量の軸 (右側にある黄色の軸の線) における効果量ゼロに対応します。標本 X の平均値は、効果量の軸における効果量の値に対応します。Cohen の d 効果量の値と信頼区間が垂直方向の誤差範囲と共にプロットに表示されます。

    試験採点データを読み込み、比較する変数を定義します。

    load examgrades
    x = grades(:,1);
    y = grades(:,2);

    標本ペアから採点の平均差効果量を計算し、効果量の 95% 信頼区間を計算します。

    effect = meanEffectSize(x,y,Paired=true)
    effect=1×2 table
                           Effect     ConfidenceIntervals
                          ________    ___________________
    
        MeanDifference    0.016667    -1.3311     1.3644 
    
    

    平均差効果量を使用する場合、関数 meanEffectSize は厳密法を使用して信頼区間を推定します。

    別の効果量のタイプを指定できます。(標本ペアに Glass のデルタは使用できないことに注意してください。) ロバストな Cohen の d を使用して標本ペアの平均値を比較します。効果量の 97% 信頼区間を計算します。

    effect = meanEffectSize(x,y,Paired=true,Effect="robustcohen",Alpha=0.03)
    effect=1×2 table
                          Effect     ConfidenceIntervals
                         ________    ___________________
    
        RobustCohensD    0.059128    -0.1405    0.26573 
    
    

    効果量のタイプがロバストな Cohen の d の場合、関数 meanEffectSize はブートストラッピングを使用して信頼区間を推定します。

    ガードナー-アルトマン プロットを使用して効果量を可視化します。ロバストな Cohen の d を効果量として指定し、97% 信頼区間を計算します。

    gardnerAltmanPlot(x,y,Paired=true,Effect="robustcohen",Alpha=0.03);

    ガードナー-アルトマン プロットの左側にペアになったデータが表示されます。1 つ目の標本の値をペアになった標本の対応する値と比較して、増加している値は青い線、減少している値は赤い線でそれぞれ示されます。プロットの右側に、ロバストな Cohen の d の 97% 信頼区間の効果量が表示されます。

    入力引数

    すべて折りたたむ

    入力データ。数値ベクトルを指定します。

    データ型: single | double

    入力データ。数値ベクトルを指定します。

    データ型: single | double

    プロットの座標軸。Axes オブジェクトか UIAxes オブジェクトを指定します。ax を指定しない場合、gardnerAltmanPlot は、現在の座標軸を使用してプロットを作成します。axes オブジェクトを作成する方法の詳細については、axesuiaxes を参照してください。

    名前と値の引数

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

    例: Effect="cliff",Alpha=0.03,ConfidenceIntervalType="bootstrap",VarianceType=unequal は、Cliff のデルタ効果量を使用し、ブートストラッピングを使用して 97% 信頼区間を計算し、標本が不等分散の母集団から派生していると仮定するように指定します。

    効果量の信頼区間の信頼水準。0 から 1 までの数値として指定します。既定値の 0.05 は 95% の信頼水準に相当します。

    例: Alpha=0.025

    データ型: single | double

    ブートストラップ信頼区間の並列計算のオプション。statset("bootci") を使用して生成される構造体として指定します。gardnerAltmanPlot は次のフィールドを使用します。

    フィールド説明
    Streams

    RandStream オブジェクトまたはそのようなオブジェクトの cell 配列。Streams を指定しないと、gardnerAltmanPlot には既定のストリームが使用されます。Streams を指定する場合、以下の条件がすべて満たされている場合を除き、単一オブジェクトを使用します。

    • 開いている並列プールがある。

    • UseParalleltrue

    • UseSubstreamsfalse

    この場合は、並列プールと同じサイズの cell 配列を使用します。並列プールが開いていない場合、Streams は単一の乱数ストリームを提供しなければなりません。

    UseParallel既定の設定は false (逐次計算) です。
    UseSubstreams再生成可能な方法で計算する場合は true に設定します。既定の設定は false です。再現性のある計算を行うには、Streams をサブストリームを許可する型、"mlfg6331_64" または "mrg32k3a" に設定します。

    ブートストラップ信頼区間の並列計算には Parallel Computing Toolbox™ が必要です。

    例: BootstrapOptions=options

    データ型: struct

    計算する信頼区間のタイプ。"exact""bootstrap"、または "none" として指定します。既定値は、効果量についての厳密な式がある場合は "exact"、それ以外の場合は "bootstrap" です。信頼区間を計算しない場合は "none" を指定します。

    Cliff のデルタ、Glass のデルタ、平均差、Cohen の d の既定値は "exact"、コルモゴロフ・スミルノフ統計、中央値差、ロバストな Cohen の d の既定値は "bootstrap" です。コルモゴロフ・スミルノフ統計、中央値差、およびロバストな Cohen の d に対して信頼区間のタイプを "exact" と指定すると、gardnerAltmanPlot はエラーを返します。

    例: ConfidenceIntervalType="none"

    データ型: string | char

    計算する効果量。次のオプションのいずれかとして指定します。

    オプション定義
    "cohen"2 標本入力の Cohen の d
    "cliff"Cliff のデルタ
    "glass"

    Glass のデルタ (ペアになったデータに対しては gardnerAltmanPlot でサポートされません)

    "kstest"コルモゴロフ・スミルノフ統計
    "mediandiff"中央値差
    "meandiff"平均差
    "robustcohen"2 標本入力のロバストな Cohen の d

    例: Effect="glass"

    データ型: string | char

    ブートストラップ信頼区間を計算する際に使用するブートストラップ複製の数。正の整数として指定します。

    例: NumBootstraps=1500

    データ型: single | double

    標本ペアのインジケーター。false または true として指定します。

    • Pairedtrue の場合、VarianceType"equal" でなければなりません。

    • Pairedtrue の場合、Effect"glass" にできません。

    例: Paired=true

    データ型: logical

    2 標本の母集団分散の仮定。"equal" または "unequal" として指定します。Paired"true" の場合、VarianceType"equal" でなければなりません。

    例: VarianceType="unequal"

    データ型: string | char

    出力引数

    すべて折りたたむ

    プロットのグラフィックス配列。1 行 5 列または 1 行 4 列のグラフィックス配列として返されます。どちらになるかは、指定した効果量、およびデータがペアになっていないかペアになっているかに応じて異なります。

    • ペアになっていないデータ (Paired="false")

      • 効果量 "meandiff""glass""cohen"、または "robustcohen":

        H は 1 行 5 列のグラフィックス配列で、2 つの Scatter オブジェクト、1 つの ErrorBar オブジェクト、および 2 つの Line オブジェクトを保持します。

        Scatter オブジェクトは XY の入力データの散布図を表します。ErrorBar オブジェクトは効果量とその信頼区間を表します。Line オブジェクトは制御標本から効果量への平均値の線ともう一方の標本から 0 への平均値の線を表します。

      • 効果量 "mediandiff":

        H は 1 行 5 列のグラフィックス配列で、2 つの Scatter オブジェクト、1 つの ErrorBar オブジェクト、および 2 つの標本データ セットからの中央値の線を表す 2 つの Line オブジェクトを保持します。

      • 効果量 "cliff" または "kstest":

        H は 1 行 4 列のグラフィックス配列で、2 つの Scatter オブジェクト、1 つの ErrorBar オブジェクト、および 2 つのグループ間に効果がないことを示す 0 の線を表す 1 つの Line オブジェクトを保持します。

    • ペアになったデータ (Paired="true")

      • H は、増加したペア、減少したペア、または同じだったペアの線を表す 1 ~ 3 つの Line オブジェクト、および効果量とその信頼区間を表す 1 つの ErrorBar オブジェクトを保持します。

    いずれのケースでも、効果の信頼区間を生成しないように選択した場合 (ConfidenceIntervalType="none") は、ErrorBar オブジェクトに代わって Line オブジェクトになります。

    H はオブジェクトのプロパティを調べたり調整したりするために使用します。オブジェクトのプロパティの詳細については、Scatter のプロパティErrorBar のプロパティ、および Line のプロパティ を参照してください。

    アルゴリズム

    すべて折りたたむ

    効果量

    • Cliff のデルタ

      • ペアになっていないデータ

        δ=i,j=1n1,n2(xi>yj)(xi<yj)n1*n2,

        ここで、n1 は 1 つ目の標本のサイズ、n2 は 2 つ目の標本のサイズです。

      • ペアになったデータ

        gardnerAltmanPlot は、グループ間のデルタを使用して xy の差を比較します。ただし、ペアになったデータの比較は除きます。n 個の標本ペアの場合、比較の数は n(n–1) になります[3]

    • Cohen の d

      gardnerAltmanPlot は Cohen の d の不偏推定を計算します。これは Hedge の g とも呼ばれます。

      • 1 標本

        d=J(df)*(x¯μ)s

      • 2 標本

        d=J(df)*(x¯y¯)s

      ここで、df は自由度、μ は比較する既知の母集団の平均、s はプールされた標準偏差、J(df) はバイアス補正項です。プールされた標準偏差は次のように定義されます。

      s=(n11)s12+(n21)s22n1+n22,

      ここで、n1 は 1 つ目の標本のサイズ、n2 は 2 つ目の標本のサイズです。

      バイアス補正項は次のように定義されます。

      J(df)=Γ(df/2)df/2Γ((df1)/2),

      ここで、Γ() はガンマ関数です。

      Cohen の d は非心 t 分布に従い、それを使用して信頼区間を派生させます。そのため、gardnerAltmanPlot は、既定では "exact" を使用して効果量の信頼区間を計算します。ペアになった入力データとペアになっていない入力データの信頼区間の派生の違いについては、[1]および[4]を参照してください。

    • Glass のデルタ

      D=x¯y¯sx,

      ここで、sx は制御グループの標準偏差です。gardnerAltmanPlotx のデータを制御グループとして使用します。もう一方の標本を制御グループとして使用する場合は、xy のデータを入れ替え、検定結果の符号を入れ替えることができます。

      Cohen の d と同様に、Glass のデルタも非心 t 分布に従い、それを使用して信頼区間を派生させます。そのため、gardnerAltmanPlot は、既定では "exact" を使用して効果量の信頼区間を計算します[4]。この効果量は標本ペアには使用できません。

    • コルモゴロフ・スミルノフ検定統計

      この 2 標本検定統計は、2 標本コルモゴロフ・スミルノフ検定に記載されたものと同じです。gardnerAltmanPlot はブートストラッピングを使用して信頼区間を計算します。

    • 平均差

      • 1 標本

        m=(x¯μ)

      • 2 標本

        m=(x¯y¯)

      gardnerAltmanPlot は t 分布を使用して信頼区間を計算します。2 標本の場合はプールされた標準偏差が使用されます。(2 標本の不等分散仮定の場合、その信頼区間はウェルチ・サタースウェイト信頼区間と呼ばれます)。既定では、関数は "exact" を使用して効果量の信頼区間を計算します。

    • 中央値差

      M = median(x)median(y)

      gardnerAltmanPlot は、ブートストラッピングを使用して効果量の信頼区間を計算します。

    • ロバストな Cohen の d

      d=0.643*J(df)*(x¯ty¯t)sw,

      ここで、x¯ty¯t は、それぞれ xy のデータの 20% トリム平均です。sw は、プールされた 20% ウィンザー化分散です[2]

      gardnerAltmanPlot は、ブートストラッピングを使用して効果量の信頼区間を計算します。

    参照

    [1] Cousineau, Denis, and Jean-Christophe Goulet-Pelletier. "A Study of Confidence Intervals for Cohen's d in Within-Subject Designs with New Proposals." The Quantitative Methods for Psychology 17, no. 1 (March 2021): 51--75. https://doi.org/10.20982/tqmp.17.1.p051.

    [2] Algina, James, H. J. Keselman, and R. D. Penfield. "An Alternative to Cohen's Standardized Mean Difference Effect Size: A Robust Parameter and Confidence Interval in the Two Independent Groups Case." Psychological Methods 10, no. 3 (Sept 2005): 317–28. https://doi.org/10.1037/1082-989X.10.3.317.

    [3] Hess, Melinda, and Jeffrey Kromrey. "Robust Confidence Intervals for Effect Sizes: A Comparative Study of Cohen's d and Cliff's Delta Under Non-normality and Heterogeneous Variances." Annual Meeting of the American Educational Research Association. 2004.

    [4] Delacre, Marie, Daniel Lakens, Christophe Ley, Limin Liu, and Christophe Leys. "Why Hedges G's Based on the Non-pooled Standard Deviation Should Be Reported with Welch's T-test." 2021.

    [5] Gardner, M. J., and D. G. Altman. Confidence Intervals Rather Than P Values; Estimation Rather Than Hypothesis Testing." BMJ, 292 no. 6522 (March 1986): 746–50. https://doi.org/10.1136/bmj.292.6522.746.

    拡張機能

    バージョン履歴

    R2022a で導入