Fortran からvbaに移植するか?w

こんばんは、皆様、三頌亭です。珍しくリアルお仕事関連のプログラムのお話です。多群(3群以上)の平均値を比較する統計手法に多重比較法という手法があります。もう30年以上前のお話になりますが、当時あまり使われていなくて適当なパッケージがすぐ手に入らなかったころ、マルチプラン(エクセルの前のソフト)にTukeyやDunnettの多重比較の数表をすべて入力して計算用シートを作成したことがありました。以来、その計算用シートは同じ職場の人に長く使われて現在に至っております。

ただこのシートには今から見ると不足な点が一点ありまして、各群の例数が不揃いの場合の数表が用意されていませんでした。統計値を例数補正して数表と比べるという方法をとっておりました。というわけで、以前から文献をあさって、例数不揃いの場合のTukeyやDunnettの多重比較の数表をvbaの関数として実装できないか考えておりました。

さて、現在のことですからフリーならばRのパッケージもありますし、リース料金を払ってもいいというならSASがあります。いずれのソフトも例数不揃いの場合の対策はされているようです。ただ、データのハンドリングの取っつきにくさから現場の人があまり触りたがらないのが欠点ですw。というわけで「退職するときの置き土産」というつもりで最近考えてるプログラムです。(どなたかご奇特な人おられましたら虫のいいお話で恐縮でありますが、是非私より早く仕上げて公表していただきたいですww)

下記はプログラム作成のための資料です。この種のプログラムの計算アルゴリズムを早くに公表したDunlap氏に敬意を表して報告全文の画像を載せておきます。

Exact probabilities associated with Tukey’s and Dunnett’s multiple comparisons procedures in imbalanced one-way ANOVA
Michihiro Yoshida
Journal of the Japanese Society of Computational Statistics
1988 Volume 1 Issue 1 Pages 111-122
https://www.jstage.jst.go.jp/article/jjscs1988/1/1/1_1_111/_pdf/-char/en
FORTRANのコードが比較的わかりやすいのでこれを改変して移植しようと思ってます。

A FORTRAN IV function for calculating probabilities associated with the studentized range statistic
William P. Dunlap, Richard S. Powell & Ted K. Konnerth
Behavior Research Methods & Instrumentation volume 9, pages 373–375(1977)

https://link.springer.com/content/pdf/10.3758/BF03202264.pdf

64.pdf

FORTRAN IV functions for calculating probabilities associated with Dunnett’s test
William P. Dunlap & Marcia S. Marx & Gregory J. Agamy
Behavior Research Methods & Instrumentation volume 13, pages 363–366(1981)

http://link-springer-com-443.webvpn.fjmu.edu.cn/article/10.3758%2FBF03202031

FORTRANのコードはほとんど古文書レベル。解読はGOTOの嵐に悩まされますw

 

参考ソフト
Excelで簡単 多重比較 (講談社, 2012.12)
付属ソフト「虎猫」

https://www.kspub.co.jp/book/detail/1565098.html
実務家向きの優れものシート。VBAは使用してません。
例数不揃いには各群例数の相関係数ρの数表で対応してます。

 

岡本安晴先生のTukey多重比較のプログラム

https://mcn-www.jwu.ac.jp/~yokamoto/openwww/stat/multicomp/Tukey/readme.pdf

https://mcn-www.jwu.ac.jp/~yokamoto/openwww/stat/multicomp/
例数不揃いの場合の正確な確率を算出してくれる得難いソフト。
Delphiで記述されているとのこと。

 

f:id:kms130:20200126213900j:plain

Dunlap01

f:id:kms130:20200126214050j:plain

Dunlap02

f:id:kms130:20200126214312j:plain

Dunlap03