Excelの統計機能は不正確 94
ストーリー by hylom
できれば専用ソフトを使うべき、だそうです 部門より
できれば専用ソフトを使うべき、だそうです 部門より
shado2001の日記で知ったのだが、「Excel 2007の統計機能は不正確だから使うな」という論文が、Computational Statistics and Data Analysis誌に掲載されているそうだ(該当号の論文要旨、三重大学の奥村教授のブログ「Excel使うな」)。
論文では、Excel 2007の統計的分布解析や乱数生成、推定関数は精度の面で不正確であり、Excel 2007の統計関数は正しい結果を返さない可能性があるため、もし統計解析を行いたいならExcelは使用すべきでない、という結果や、Excelは競合ソフトであるGnumericやOpenOffice.org Calcを比較したところ、Excel 2007の統計機能の信頼性はそれらと比較して大幅に劣る、という結果が掲載されている。
さらに、Excel 2003では乱数生成アルゴリズムとしてにWichmann-Hill法を実装したが実装が誤っており、かつMicrosoftはそれを修正するというパッチをリリースしたが、それでもアルゴリズムの実装に間違いがあるという検証結果や、Excel 2007で統計データをグラフ化する場合、デフォルトでは「適切な」グラフを描画してくれないため、パラメータを変更すべきという論文も掲載されている。
企業や研究機関などでもExcelによる統計処理は多く行われているようだが、厳密な統計結果が必要な場合はExcelは使わない方が良さそうだ。
大丈夫 (スコア:5, おもしろおかしい)
そんなややこしい機能を使うような人はほとんどいません :-)
Re:大丈夫 (スコア:3, おもしろおかしい)
http://wiredvision.jp/news/200810/2008102720.html [wiredvision.jp]
> われわれが本当に気に入っていることは、ExcelのスプレッドシートにAC/DCの
> 音楽を含めることで、企業側のファイアーウォールを覆せたことだ。
> どんな企業のファイアーウォールも、Excelは通す
Re:大丈夫 (スコア:1, 興味深い)
「問題」を早く直して欲しい。
統計とか、そんなオマケ機能の修正は後回しでいいから。
ですか?
Re:大丈夫 (スコア:2, 興味深い)
ほぼ同じ原因の「問題」ですが「(行の)高さを(中身にあわせて)自動調節する」には散々泣かされました。
巨大な表をいちいち紙に打ち出して調節して、世界の森林資源削減に貢献させてもらいました。
印刷プレビュー機能である程度の微調整ができるのを知ったのは、その後。
改ページプレビューと印刷プレビューが違うって、どういうこと?
何の「プレ」ビュー?
はい。エクセル大好きな役所としては、sum でさえ要らないかも知れません。
# 以前、sum使えばすむような集計作業を、なぜか手計算でやってる文書を見たことがあるので。しかも計算間違いつき
Re:大丈夫 (スコア:1)
しかも、印刷「プレ」ビューできちんと入っているように見えても、印刷すると入って
無いことがしばしば。あれは「うそ」ビューです。
#パトリスで出した特許のCSVデータとか、もう大変。
Re:大丈夫 (スコア:1)
余計な機能つけないでいいから、こういうところをまず直せと。
統計機能は使わない人が多いんだから、こっちを先に。
Re:大丈夫 (スコア:1)
とも言えないような・・・
匠気だけでは商機なく、正気なだけでは勝機なし。
Re: (スコア:0)
パワーポイントで仕様書やドキュメント書くのもやめてよ。
自由レイアウトならVISO
あいがたりないよ! (スコア:1, おもしろおかしい)
VISIOだよね。
Excelを方眼紙ワープロに使ってるAC
(だってProfessionalにVISIO入ってないんだもん)
Re:大丈夫 (スコア:1)
Excel本当に表形式か、表計算かでしか使いません。
特定分野での作図ソフトとしてVisioの有用性は認められると思いますが、レイアウトソフトとしては使えないと感じます。Publisherも期待はずれでした。PowerPointも仕上がりがよいとは言えませんが、操作性含め、いい妥協点を見いだしていると感じます。Officeらしい、高い生産性で必要な品質をたたき出せる感じ。
プライベートでは仕上がり命なので、今、InDesignのお勉強中です。さすがにレイアウトソフトとして素晴らしいできだと思います。
Re: (スコア:0)
正直OfficeにPowerPointじゃなくてVISIO付けて欲しい。
Re:大丈夫 (スコア:1)
Re:大丈夫 (スコア:2, 参考になる)
MSDN Pro で入手可能な VS.NET 2003 Pro や VS2005 Pro に付いてくる、ですね。
VS.NET 2003 Visio for Enterprise Architects 相当が使える、という感じです。
VS2008 だけ入れると「対象製品がありません」って言われて入れられませんよ。
Re:大丈夫 (スコア:1)
OASYSはそんなソフトでした。
Wordは変にお仕着せ過ぎ。
適材適所って、何がどこで適切か理解しないと難しい (スコア:5, 参考になる)
> まず最初の論文(略)のアブストラクト:
> 要約:どうしょーもないから使うな。
> 次の(略)のアブストラクト:
> 要約:どうしょーもないから使うな。
ワラタ。全く異論無し。
Microsoftなら統計や数値計算の分野でもトップレベルの研究者を抱えている
だろうに、それなのにいつまで経っても売り物が改善されないというのは、
単にMS自身にやる気がないんでしょうね。
MSの研究者もExcelの改良するために雇われているんじゃないだろうし。
てゆーか、まっとうな研究者ならExcelの統計機能なんて使わないし。
(もちろん、Excelで用が足りることにExcel使うのは問題ないですよ。)
R [r-project.org]なら、世界中の研究者が使って常にチェックの
目を光らせているので、安心して使えますね。GUI弱いけど。
Sage [sagemath.org](Mathematica置換を狙ったOSS)とか、
Octave [gnu.org](Matlab置換を狙ったOSS)とかの具合は最近どうなんでしょうか?>識者
Re:適材適所って、何がどこで適切か理解しないと難しい (スコア:3, 興味深い)
多分「やる気がない」んじゃなくて、互換性の問題でしょう。
最初の実装が悪いのが分かっていても、それを直したところでどんな影響が及ぶのか分からないとなかなか直せません。
例えばこれまであるセルが0になることを前提にしていたシートを新しいExcelで開いたら1e-23とかになったら困る、とか。
その点新しく作られたソフトは負の遺産も少ないので有利というわけで。
Re:適材適所って、何がどこで適切か理解しないと難しい (スコア:2, 参考になる)
でしょうね。
以下などを読むと、Lotus 1-2-3の仕様を引きずってるのが分かるし。
http://local.joelonsoftware.com/mediawiki/index.php/%E3%81%AF%E3%81%98... [joelonsoftware.com]
2007ではこういったしがらみから排除されたので、演算上のバグが少なくなったんじゃないかな。
(重いので使わないけど)
うぉ、統計にエクセル使ってます (スコア:4, おもしろおかしい)
Re:うぉ、統計にエクセル使ってます (スコア:1)
なぜWichmann-Hill法 (スコア:1, 参考になる)
Python標準はメルセンヌツイスタですが、後方互換のためにWichmann-Hill法も残しているそうです。 http://www.python.jp/doc/current/lib/module-random.html [python.jp]
PythonのメルセンヌツイスタはCで実装されてるのになぜか遅いんですよねえ。Pythonの内部形式に変換するのに時間かかってるぽいのですが、なんとかならないかなあ。
123も (スコア:1)
統計分析用のアドオンを使ってましたから、そちらの問題かもしれませんが。
PCで傾向を見てから、本番はSASでした。
〜後悔先に立たず・後悔役に立たず・後悔後を絶たず〜
余計な指摘 (スコア:0)
精度の面で不十分であり?
デジャブ? (スコア:0)
Re:デジャブ? (スコア:5, 参考になる)
これ読んだときには、注意して使えば良い程度のレベルだなって思いました。
素人でもわかる明らかなバグ (スコア:2, 参考になる)
Re:素人でもわかる明らかなバグ (スコア:1)
配列が0ベースの言語と1ベースの言語を併用してると、似たような間抜けをかますことがありますね。
Re:デジャブ? (スコア:2, 参考になる)
97年か98年頃に大学で受けた統計の講義にて、Excelを使った実習もやっていたのですが、当時既に統計機能にバグがあることが教官によって指摘されていました。統計機能のアドオンで定義されている関数ではまともな結果がでないので、教科書の定義どおりの式を自分で入力して使え、と。
具体的なバグの内容はおぼえていませんが、まったくおかしな数字が出る、本来の値の数分の1の値が出る、精度が悪い等の症状で、3,4か所以上はあった気がします。
いまはExcelの統計機能を使う機会はないのですが、まだ直っていなかったことに驚きました。
Re:デジャブ? (スコア:1, 参考になる)
# xがゼロの近傍で、sinh(x)≒xになる筈。
Re:デジャブ? (スコア:2, 参考になる)
sinh(x)=(exp(x)-exp(-x))/2
で計算していて、0近傍でexp(x)≒1+x、exp(-x)≒1-xとなるので、これらの値が倍精度で表現出来なくなったところで終わりです。パーセントオーダーの精度だと5e-15で終わりです。
MzScheme(Schemeの処理系の1つ)でも試してみましたが、倍精度なので結果は同じです。sinhは無いので、上記の式を使いました。
ただ、個人的には、この手の計算をするときにExcelを使う奴の方が間違っていると思う。
Re:デジャブ? (スコア:1)
関数計算をしていて有効桁が少ないという問題がありましたね。
あと、sqrt(x) を x^0.5 で代用しているのでこれも有効桁が少ないという
問題がありました。(真面目に計算するならニュートン法でも使うところ。)
補足 (スコア:1)
> (sinh 1e-4)
0.00010000000016666667
> (sinh 1e-5)
1.0000000000166668e-005
> (sinh 1e-6)
1.0000000000001666e-006
> (sinh 1e-7)
1.0000000000000017e-007
> (sinh 1e-8)
1e-008
Excelのsinh(x)では
1.00E-04のとき、
1.00000000166689E-04
ですが、1.00E-05のとき、
1.00000000001210E-05
となるので、Excelでは、1e-5のときの下位の桁は信頼できません。
因みに、MzSchemeで計算しましたが、exp(x)-1を求める関数は、
(define mexp (lambda (x) (exact->inexact (let loop1 ((n 60)) (if (= n 0) 0 (+ (let loop2 ((n n)) (if (= n 0) 1 (* (/ x n) (loop2 (- n 1))))) (loop1 (- n 1))))))))
マクローリン展開のnは60としましたが、0近傍ではそんなにいりません。
Re:デジャブ? (スコア:1)
なんか設定でそういうのをいじれれば、良くなるかも。
Re:デジャブ? (スコア:2, 参考になる)
違うっぽいかも。
セルの値を=Sinh(1E-19)/1E-19にしても0だから。
1E-16前後あたりから値がおかしくなる。
でもSin(x)/xだと(xが十分小さいところで)問答無用でちゃんと1になるから、内部的に
どういう展開を使うかあたりで怪しいんかねぇ。
Re: (スコア:0)
に自動変換され、セルには0とでますね。セルのプロパティから数値で小数点以下の桁数30にした状態でも0.0です。小数点以下に0が多く並んでるが数えるの面倒だから放置
Re:デジャブ? (スコア:1)
計算しています。小数点下6桁目くらいでExcelの計算結果と統計ソフトの結果にズレが出てきて、
「おかしいねえー。ここ(差で)0にならないと駄目なはずだよねえ」
と一所懸命検算したことがあります。どういう計算だったか今手元にシートが無いので
判りませんが、標準誤差とか四則演算位のはずなんですが。
ppm表示で×10^6とかやるから、目立つんですよね。
Re: (スコア:0)
昔からあるバグで、かつ競合製品にはないようなバグだとすれば、
技術的には直すことが可能でその時間もあったはずだから、
MSが本気で直そうとしていないということだと考えられます。
そういう場合、MSに本気で直そうとしてもらうためには、
この問題が広く知られて、苦情が殺到するくらいになる
必要があるのではないかと思います。
Re:デジャブ? (スコア:5, すばらしい洞察)
詳しくない人 -> わからない
で全然苦情が発生してない、とか。
Re:デジャブ? (スコア:1)
Re:デジャブ? (スコア:1, 興味深い)
かなり前(5年以上前だな)にどこぞのweb siteで見た話なのでホントかどうかわかりませんが,MS側の見解としては「そもそも統計処理のソフトじゃなくて会計計算とかのためのものなので,本気の統計処理とかに使ってくれるな」という話だったはずです.
Re:デジャブ? (スコア:1)
the.ACount
Re:デジャブ? (スコア:1)
いやはや全くもって否定しがたい事実です。
論文では Excel 使わないのは常識 (スコア:0)
#普段は Excel でも構わないのが普通だろうけど。
Re:論文では Excel 使わないのは常識 (スコア:4, おもしろおかしい)
これで、卒業論文・修士論文になるんだったら(さすが博士論文は無いと思うが)マイクロソフトの教育界への貢献は甚大なものです。
Re:論文では Excel 使わないのは常識 (スコア:1, 興味深い)
きっとお手軽&みんな持っているからだとは思われますが……。
プレゼンでは使うけどね (スコア:1)
張り込んだほうが便利(つーかmake一発で事足りる)のでほとんど
使わないけど、プレゼンでは使いますね。
あ、でもデータをCSVにして持ってきてグラフを書くのに
使ったことはあったなぁ。インタラクティブなグラフ描画
ツールとしてはとっても使いやすいと思うのです。
屍体メモ [windy.cx]
Re: (スコア:0)
多分、学生が安易な方向に流れてきているから
「お前達、それは違うだろう??」というのがきっかけではなかろうか?
警鐘も含めて。
#一般ユーザがあまり大した精度を必要としない分野で使う分には文句を言う気は無いと思われます。
いや、普通 (スコア:0)
グラフが勝手に補完したりして胡散臭いし
少なくとも俺の周りは皆自分で計算してますぜ
まあ、データ数の関係でFortranバイナリ出力になってるからかもしれんが
論文雑誌でもExcelのグラフは見たことないですなぁ
まあ、最近は雑誌でもTeXが消えてWord形式で提出というのが増えてきたんで、これからExcelも出てくるのかもしれんが…
「論文」:× 「特集」:○ (スコア:0)
要するにExcel の問題点特集号ですよね?
「論文」:×
「特集」:○
一つネタが掲載されてるとか言うレベルじゃなく、数理統計業界として、
「頼むから Excel 使ってくれるな」というメッセージなんじゃん。
Re:つーか (スコア:1)
逆です. Excelがそういった現実の数値データを取り扱うのに必要な, 有効桁という概念が無いから使えないのです(最近のバージョンはもしかしたら有るかもしれないけど). 少数以下2桁(有効桁数3桁)で加減乗除すればいいような課題は, 4桁以上の数は出す必要が無いのではなく, 出してはいけないのです. すなわち実験データ処理や統計のソフトで「精度が要求される」と言った場合, 有効桁数を多くする以外に有効桁数を考慮した計算(例えば有効桁数の異なる数値の積では結果の有効桁数を小さいほうに合わせるとか)が必要になります.
さらにExcelでは表示桁数を設定しても内部で保持しているデータは表示とは別になっているので, 例えば
を有効桁数1桁で取り扱った時の結果が, 本来はセルA=3, セルB=3, セルC=6となるべきところ, セルA=3, セルB=3, セルC=7になって, 見た目と結果が異なってくるなんてことも起こりえます.
まあ, これぐらいなら回避の方法はいろいろありますし, 他の表計算ソフトでも似たような現象は起こりうるんですけどね. 正しい結果を得るためにはデータの内部形式とかも考慮しないといけないので, 専用の統計処理ソフトと比べると労多くしてってことになりやすいですね. 場合によっては10進演算で桁数管理がしっかりしているCOBOLの方がましなんてこともあるみたいで.
Re:つーか (スコア:2, 興味深い)
それは
A1: =ROUNDDOWN(10/3, 0)
A2: =ROUNDDOWN(10/3, 0)
A3: =A1+A2
といったように、明示的に「切り捨てる」(または ROUNDUP で切り上げたり、ROUND で丸めたり) する、という事を入力者自身がサボっているからでしょう?
単に「表示桁数」だけいじって満足しているのが悪いのでは。
# 「表示形式」を変更したら「値も変更された」なんて方が問題アリアリだと思う。