統計分析システムは1つ1つ独自に作成しました

多変量解析 数量化理論I類のシステムを作成した話

これは1974年の話です。当時筆者は、新入社員として経営コンサルタントチームに所属していました。

多変量解析 数量化理論I類(回帰分析)を使った統計分析システムの開発に従事しました。

数量化理論は統計数理研究所元所長の林知己夫さんにより開発された日本独自の多次元データ分析法です。

林知己夫さんの本を参考にしてプログラムを開発しました。当時は、コンピュータで利用できる数量化理論統計パッケージは無く、書籍を参考に独自にプログラムを作成するのが一般的でした。

使用したコンピュータはバッチ処理型で、会社では主にCOBOLで開発する案件が多かったようですが、筆者が所属する部署は経営研究所だったので、コンピュータを使用する場合にはFORTRANを使用するのが主でした。

まずFORTRANコンパイラーを準備してもらい、プログラムをカードにパンチして朝コンピュータセンターに預けます。

JOB CONTROLカードにコンパイルして実行するよう指示をパンチしておきます。夕方結果をデータセンターに取りに行きます。

1日1回しか実行出来ないので、正しいプログラムを作成するのには大変時間がかかります。

机上デバッグといってプログラムリストを穴が開くほど眺めて、値を手で計算しながら実行結果を予測しました。

ある時既にコンパイルが通っていた物がコンパイルエラーとなってしまった事が有りました。持ち帰ってカードを調べてみたらカードの順番が一部狂っていました。

恐らくオペレーターの方がカードリーダに積む前に落としてしまったようです。並べ替えて翌日依頼したら正常にコンパイルできて帰ってきました。

コンパイルが無事に通ったらテストデータによるデバッグです。1日1回しか実行出来ないので、ロジックの全部を通すようにデータを用意し、中間結果をラインプリンターに出力させます。

最初の実行では、30分以上たっても終了せず、オペレータの方から問い合わせの電話が有りました。

事前の予想では1分以内には終了して何らかの出力が出るはずですので、コンピュータセンターに行きました。

コンピュータルームにはオペレータの方しか入室できないのですが、異常事態のため特別に入室させてもらいました。

使用したコンピュータはCPUが動作している時にランプが点きます。通常は点いたり消えたりするのですが、筆者のプログラムを実行したときはランプが点きっぱなしになっていました。たぶん無限LOOPしていると判断し、強制終了してもらいました。

プログラムを調べた所、逆行列の計算の部分に誤りがあって無限LOOPに陥ってしまっていました。この部分は学生の時に開発したものを元に改良したのですがバグを作り込んでしまいました。

バグを修正して、翌日JOB実行依頼をしました。夕方結果をコンピュータセンターに取りに行きました。

返してもらった印刷結果をみたら1ページだけでした。予定では100行ほど出力するはずなので2ページにまたがるはずでした。

よく見てみるとなんと1行だけ真っ黒でほとんど穴が開いていました。1行の終わりで改行するのを忘れていたのです。1行を100回ラインプリンターのハンマーが叩いていたのです。穴が開くわけです。

机上デバッグでプログラムリストを穴が開くほど眺めていたのに、用紙に穴をあけるプログラムで有ることを見逃していたのです。

この部分を直して、テストデータによるテストを完了させて本番のデータで計算をさせました。

出力結果をレポートに纏めて、まるまる1ヶ月かかったこのプログラムはお役ご免となりました。

1ヶ月もかかって作ったプログラムなのに1回しか使わないなんて無駄とも言えるし、すばらしい仕事とも言える。なんとも複雑な気持ちでした。

戻る