エクセルはクソらしい

広告

Excel使うな

Okumura’s Blogの「Excel使うな」によりますと

まず最初の論文 (B.D. McCullough and David A. Heiser, On the accuracy of statistical procedures in Microsoft Excel 2007, pp.4570-4578) のアブストラクト:

Excel 2007, like its predecessors, fails a standard set of intermediate-level accuracy tests in three areas: statistical distributions, random number generation, and estimation. Additional errors in specific Excel procedures are discussed. Microsoft’s continuing inability to correctly fix errors is discussed. No statistical procedure in Excel should be used until Microsoft documents that the procedure is correct; it is not safe to assume that Microsoft Excel’s statistical procedures give the correct answer. Persons who wish to conduct statistical analyses should use some other package.

要約:どうしょーもないから使うな。

次の A. Talha Yalta, The accuracy of statistical distributions in Microsoft® Excel 2007, pp.4579-4586 のアブストラクト:

We provide an assessment of the statistical distributions in Microsoft® Excel versions 97 through 2007 along with two competing spreadsheet programs, namely Gnumeric 1.7.11 and OpenOffice.org Calc 2.3.0. We find that the accuracy of various statistical functions in Excel 2007 range from unacceptably bad to acceptable but significantly inferior in comparison to alternative implementations. In particular, for the binomial, Poisson, inverse standard normal, inverse beta, inverse student’s t, and inverse F distributions, it is possible to obtain results with zero accurate digits as shown with numerical examples.

要約:どうしょーもないから使うな。

次の B.D. McCullough, Microsoft Excel’s `Not The Wichmann-Hill’ random number generators, pp.4587-4593 のアブストラクト:

Microsoft attempted to implement the Wichmann-Hill RNG in Excel 2003 and failed; it did not just produce numbers between zero and unity, it would also produce negative numbers. Microsoft issued a patch that allegedly fixed the problem so that the patched Excel 2003 and Excel 2007 now implement the Wichmann-Hill RNG, as least according to Microsoft. We show that whatever RNG it is that Microsoft has implemented in these versions of Excel, it is not the Wichmann-Hill RNG. Microsoft has now failed twice to implement the dozen lines of code that define the Wichmann-Hill RNG.

昔のExcelの乱数は無茶苦茶だった。Excel 2003でMicrosoftはやっとWichmann-Hillの乱数生成アルゴリズム(私のアルゴリズム事典にも載っている十数行で書ける簡単だがまともなアルゴリズム)に切り替えた(Microsoftの Excel 2007 と Excel 2003 の RAND 関数について 参照。ただしMicrosoftはWichmannの綴りを間違えている)。最初はバグっていて負の値を返したりしたため,パッチが出た。めでたしめでたし。じゃない。調べてみると,何かおかしい。Excel 2007になってもまだおかしい。Microsoftはたった十数行のアルゴリズムもまともにインプリメントできないんだ。

ほかにもチャートジャンクの話などがあるが,略。

もともと研究に使えるようなレベルでないのは有名な話

Excelは研究用のデータ処理にはもともと非常に怪しいところがあって使えなかった。OpenOfficeを勧める人もいたけれど、できが大雑把すぎてExcelよりも使いにくかったと思う。見た目も美しくないし。

Gnumeric

そこで目をつけたのがGnumericだった。これはよかった。特にソルバーがlp_solveやglpkを使ったものだったので、Excelのなんちゃってソルバーとは違って経営分析にも数理計画にも大活躍だった。Gnumericの統計関数プラグインは、きちんとした統計の専門家がメンテナンスしているので信頼性が高いらしい。

しかし、そのときはGnome版しか知らなかったので、Windowsで動かすことはできなかった(できたかも知れないけど、Linuxでやっていた)。それが今ではWin32版があるらしい。これはすごい。

表計算Gnumeric

見た目はExcelと比べても違和感がないし、中身はよっぽどしっかりしている。

Sage

2chの「下げ」を想像してしまうが、フリーのMathematicaと考えればいいと思う。Wired Visionによると「数学研究もオープンソースで:Mathematicaに挑むSage」の中で

高価なクローズドソースの計算ソフトウェアから、無料のオープンソース・ソフトに切り替えようという動きが、一部の数学者の間で起きている。

米国数学会(AMS)が発行する学術誌『Notices』のウェブサイトに最近掲載された論評記事(PDFファイル)の中で、ワシントン大学の準教授William Stein氏は、現在大学で使われている数学ソフトよりも、オープンソース・ソフトの方が優れた選択肢だと主張している。

だそうだ。まあ「Stein氏の意見は、実は公正とは言いがたい。それというのも、同氏は『Sage』のプロジェクトリーダーを務めているからだ」とも付け加えられているが、Mathematicaは馬鹿みたいに高いので、Sageの存在は大きいと思う。

数式処理ソフトSage

R

これは非常に有名な統計計算のソフト。

統計計算ソフトR

Octave

前述のSageはMathematicaのフリー版と言えばいいと思うが、OctaveはMatlabのフリー版といったところ。

MathematicaとMatlabの違いは意外と知られていないようだが、Mathematicaは数式処理ソフトであり、Matlabは数値処理ソフトである。前者が連続を扱うのにたいして、後者は離散を扱うと考えればいいのではないか。

数値計算ソフト Octave

やはり大学の情報教育は決定的に不足している

情報系にどっぷり漬かった人でなくても、コンピュータは現代社会で欠かすことのできないツールになっています。さすがに、現代ではメールやWeb閲覧ができないって人は少数派になったようですが、それ以上の水準になると一気に減ります。

理系の学科でも卒業まで手書きと関数電卓で終えたって人もいるらしいので、まず徹底的にこうしたツールの使い方を叩き込むということをすべきではないかという気もします。しょっちゅう例を挙げるけど、外資系投資銀行では表計算を徹底的に叩き込むそうだけど、多くの日本企業ではそんなことはないそうです。で、アビバでパソコンとか、VLOOKUP関数を使って上級者とか、そんなレベルです。

大学の研究も分野にもよるけど、一応最高学府を卒業したというのなら、こうしたツールは触っておくべきだと思います。大学を出ていない人と比べて決定的な仕事の効率と質で差をつけるような、あるいは「東大卒は勉強はできるけど使えない」なんて絶対に言わせないくらい他人の持たない技術を教えておくべきです。これらのツールをそこそこ使えるだけで、使えない人から見たら魔術師のような(理解を超えた)仕事効率が達成されるはず。

でも、多くの企業はそんなことは社員に求めていないようです。業務効率を上げたいと漠然と願っていながら、実務では非常に多くの時間をかけてExcelの表を作って、しかも質がよくない。

まあ、多くの企業では飛び込み営業して名刺100枚集めてこいとか、脳みそ筋肉な努力と根性と残業を重視する社風がまだ残っているので、シミュレーションや数理計画でエレガントに解を出しても受け入れてくれるかはわかりません。ここんところはプレゼンの技術とあわせて相手を説得しないと「東大卒はやはり頭でっかちでダメだな、仕事は会議室で起きているんじゃない、現場で(ry」とかなるかも知れません。

ところで、ときどき暴露ウィルスに感染したと言うことで企業の内部文書が出てきますけど、本当に名の通った企業でもExcelの使い方ってビミョーですよね。それどころか、画像を送るだけなのにWordに貼り付けて送ってきたりします。たったそれだけの用途のために、毎年マイクロソフトに多額のお布施をしているのは信者としか思えません。

話は飛びましたが、大卒レベルだったら、こうしたソフトを使っておく経験はあっても損はしません。企業では上司がアホなので評価されないかも知れません(ある作家が「高度に発達した科学は魔法と区別が付かない」と言ったそうですが、テクノロジーを理解するには受け取る側の素養も求められます)が、卒論の手間は大きく減ります。

4 件のコメント

  • 兄さん!勉強になります!

    そっか~、使えるのか~w。
    いや、これらのツールの名前は知ってたんですが
    何となく自分でコーディングしてますた・・・無駄だった様ですw。
    (あとは鉛筆と紙・・・原始人か~!)

    マットラボって状態方程式を差分方程式化した後、
    マトリックス演算に持っていって
    過渡現象追ったり数値解おったりするツールですか?
    ビジュアライザーだけでも十分使えそうっすね!

    マセマティカのイメージが湧かないんすけど、
    ラプラス変換かなんかで解析解求めてくれちゃったりするんですか?
    出来ないことも多そうだけど、すっげー面白そうです!

    ソッコウ使ってみたいと思います!

    ところで兄さんは工学系っすか?
    就職しようと思ったらどこでも引く手あまたじゃないっすか!
    まぁ、別に就職したから何って訳ではないんっすけどねw。

  • もちろん、自分で書いてもいいと思います。私もlp_solveのライブラリ版を使った自作プログラムで問題解決にあたったことはあります。表計算から呼び出せた方が楽な場合もあるし、融通が利かないと思う場合もあります。

    MATLABは数値処理ですので、基本的には差分方程式ですね。実際に観測したデータは離散データなので、そこんとこを分析するには使えます。

    Mathematicaは式そのものをいじる感じです。もちろん、数値データも扱えるのですが、MATLABとはちょっと違う感じのモノです。私はMathematica 1.0のころからいじっていますが、見た目はずっと変わってない・・・

    私は文学系という線も・・・?アセンブラ文学を専攻して・・・うそです。私は就職市場では最底辺だったものです。

  • 兄さんはアセンブラ文学っすか!芸術っすよね!
    オレも昔はディスアセンブラ駆使して芸術してますた!

    なんか、兄さん、最後トーン低すぎっすw!
    市場も見る目ないっすからねぇ・・・
    なぁに、見ている人は見てますよ!絶対!

    元気づけに、さっき押せるだけボタン押しておきました!
    これで元気になって下さい!

    なんか、一発当てるネタが有ればいいんすけどねぇ・・・

  • ぽち、ありがとうございます。おかげさまで目標を超えることができました。

    起業するというのはリア充でないと難しいのです。あるいは、リア充で心優しい人がオナニートを引き上げてくれるとかね。でもリア充とオナニートは水と油です。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください