相関分析でFISHER関数を使ったあと、「変換した値をどうやって元に戻すの?」と困ったことはありませんか?
フィッシャー変換後の数値は直感的に読みにくいですよね。レポートに載せるには元の相関係数に戻す必要があります。そんなときに使うのがFISHERINV関数です。
この記事では、ExcelのFISHERINV関数の使い方を構文から実践例まで丁寧に解説していきます。
ExcelのFISHERINV関数とは?
FISHERINV関数(読み方:フィッシャー・インバース)は、フィッシャー変換された値を元の数値に戻す関数です。関数名は「FISHER(フィッシャー変換)+ INV(Inverse、逆)」に由来します。
FISHER関数で変換した値を入力すると、変換前の相関係数が返ってきますよ。
数式で表すと、こんな関係になっています。
- z = FISHER(r) のとき、FISHERINV(z) = r
たとえば相関係数 0.5 をFISHER関数で変換すると約 0.5493 になります。この 0.5493 をFISHERINV関数に渡すと、元の 0.5 に戻るというわけですね。
数学的にはFISHERINV関数の計算は「双曲線正接(ハイパボリック・タンジェント)」と同じです。ExcelのTANH関数でも同じ結果が得られますよ。
対応バージョンはExcel 2003以降、Microsoft 365、Googleスプレッドシートです。
なぜフィッシャー変換が必要なのか
相関係数 r は -1 から 1 までの範囲に収まっていますよね。この制約があるため、複数の相関係数を平均したり信頼区間を計算したりすると、統計的にゆがみが生じます。
フィッシャー変換は相関係数を実数全体に広げて正規分布に近づける役割を持っています。統計処理を終えたら、結果をFISHERINV関数で元のスケールに戻すという流れですね。
FISHERINV関数の書き方(構文と引数)
基本構文
=FISHERINV(y)
引数は1つだけなので、とてもシンプルです。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| y | 必須 | フィッシャー変換された数値を指定します |
引数「y」には、FISHER関数で変換された値を指定します。セル参照でも直接入力でもOKです。
FISHER関数の引数は -1 から 1 の範囲しか受け付けません。一方、FISHERINV関数のyにはどんな実数でも指定できます。ただし、結果は必ず -1 から 1 の間に収まりますよ。
FISHERINV関数の基本的な使い方
実際にFISHERINV関数を使ってみましょう。
セル参照で指定する場合
セルA1に「0.549306」が入っているとします。
=FISHERINV(A1)
結果は 0.5 になります。FISHER(0.5) の結果を逆変換して元に戻した形ですね。
数値を直接入力する場合
=FISHERINV(1.098612)
結果は約 0.8 です。FISHER(0.8) = 1.098612 なので、正しく逆変換できていますね。
いくつかの入出力を確認してみましょう
| 入力値(y) | FISHERINV(y)の結果 | 意味 |
|---|---|---|
| -1.098612 | -0.8 | 強い負の相関 |
| -0.549306 | -0.5 | 中程度の負の相関 |
| 0 | 0 | 相関なし |
| 0.549306 | 0.5 | 中程度の正の相関 |
| 1.098612 | 0.8 | 強い正の相関 |
| 2.6467 | 0.99 | 非常に強い正の相関 |
入力が0なら結果も0になります。正の値なら正、負の値なら負の相関係数が返ってきますよ。
入力値の絶対値が大きくなるほど、結果は ±1 に近づきますが、決して ±1 を超えることはありません。
FISHERINV関数の実践的な使い方
複数の相関係数の平均を求める
相関係数はそのまま平均を取ると統計的に正確ではありません。フィッシャー変換してから平均を取り、最後にFISHERINVで戻すのが正しい手順です。
たとえば、3つの調査で相関係数 0.6、0.7、0.8 が得られたとします。
手順:
- 各相関係数をFISHER関数で変換する
- FISHER(0.6) = 0.6931
- FISHER(0.7) = 0.8673
- FISHER(0.8) = 1.0986
- 変換後の値の平均を計算する
- (0.6931 + 0.8673 + 1.0986) / 3 = 0.8863
- FISHERINV関数で元のスケールに戻す
- FISHERINV(0.8863) = 0.7097
単純平均だと 0.7 ですが、フィッシャー変換を経由した正確な平均は約 0.71 です。わずかな差ですが、統計的にはこちらが正しい値になりますよ。
Excelでの数式はこのように書きます。
=FISHERINV(AVERAGE(FISHER(B2),FISHER(B3),FISHER(B4)))
データが多い場合は、配列数式で一括処理できます。
=FISHERINV(AVERAGE(FISHER(B2:B10)))
Microsoft 365 や Excel 2021 以降ならスピル機能が効くので、Ctrl + Shift + Enter を押さなくてもそのまま入力するだけでOKです。
CORREL関数と組み合わせて信頼区間を求める
相関係数の信頼区間を求めるときにも、FISHERINV関数が活躍します。手順は次のとおりです。
- CORREL関数で相関係数 r を求める
- FISHER関数で z 変換する
- z の信頼区間を計算する(標準誤差 = 1/SQRT(n-3))
- FISHERINV関数で上限・下限を元の相関係数に戻す
たとえば、30組のデータで相関係数が 0.7 の場合です。95%信頼区間の下限はこの式で求められます。
=FISHERINV(FISHER(0.7)-1.96/SQRT(30-3))
上限は「-1.96」を「+1.96」に変えるだけですよ。
計算結果は下限が約 0.453、上限が約 0.852 になります。「相関係数 0.7」と一点で報告するよりも「0.45〜0.85 の範囲に収まる」と区間で示すほうが、統計的により誠実なレポートになりますね。
2つの相関係数の差を検定する
「Aグループの相関係数とBグループの相関係数に違いがあるのか?」を検定するときも、フィッシャー変換が必要です。
検定統計量は次の式で計算します。
=(FISHER(rA)-FISHER(rB))/SQRT(1/(nA-3)+1/(nB-3))
この値が ±1.96 を超えれば、95%水準で「2つの相関係数には有意な差がある」と判断できます。差そのものを相関係数のスケールで示したいときに、FISHERINV関数で戻すと直感的に理解しやすくなりますよ。
よくあるエラーと対処法
FISHERINV関数はシンプルなので、エラーが出る場面は限られています。
#VALUE! エラー
引数に数値以外(文字列や空白セル)を指定すると #VALUE! エラーが返ります。
対処法: 引数が数値であることを確認しましょう。セル参照を使う場合は、参照先をISNUMBER関数(数値かどうかを判定する関数)でチェックできます。
=IF(ISNUMBER(A1), FISHERINV(A1), "数値を入力してください")
#NAME? エラー
関数名のスペルミスで発生します。「FISHERINV」を「FISHERINVERSE」のように書いていないか確認してみてください。
結果が想定と違うとき
「FISHER関数を通していない生の相関係数をFISHERINV関数に渡してしまった」というケースも意外と多いです。
たとえば、相関係数 0.5 をそのままFISHERINVに渡すと、結果は約 0.4621 になります。これは数学的にはTANH(0.5)の値で、フィッシャー変換の逆変換としての意味は持ちません。
入力が「FISHER関数で変換された値」かどうか、もう一度確認してみてくださいね。
FISHER関数との違い・使い分け
FISHERINV関数とFISHER関数は、変換の方向が逆になるペア関数です。
| 項目 | FISHER関数 | FISHERINV関数 |
|---|---|---|
| 役割 | 相関係数をZ変換する | Z変換した値を元に戻す |
| 入力範囲 | -1 より大きく 1 未満 | 制限なし(任意の実数) |
| 出力範囲 | 制限なし(任意の実数) | -1 から 1 の間 |
| 使うタイミング | 統計処理の前 | 統計処理の後 |
セットで覚えておくと便利ですよ。
FISHER関数の詳しい使い方は「FISHER関数を使ってフィッシャーのZ変換をする」で解説しています。
また、TANH関数はFISHERINV関数と数学的に同じ結果を返します。どちらを使っても計算結果は同じですよ。意味的には統計分析の文脈ではFISHERINV、数学計算の文脈ではTANHを使うと、コードの意図が伝わりやすくなります。
まとめ
FISHERINV関数のポイントをおさらいしましょう。
- FISHERINV関数は、フィッシャー変換した値を元の相関係数に戻す関数
- 構文は
=FISHERINV(y)で、引数は1つだけ - FISHER関数とペアで使うのが基本
- 複数の相関係数を平均するときは、FISHER → 平均 → FISHERINV の手順が正確
- 信頼区間や2グループ間の検定にも活用できる
- TANH関数と数学的に同じ結果が得られる
統計分析で相関係数を扱う場面では、FISHER関数とセットで覚えておくと分析の幅が広がりますよ。
