統計ワークベンチとしてのExcel


52

多くの人々(私を含む)がExcelで探索的データ分析を行うことを好むようです。スプレッドシートで許可されている行数などの制限は苦痛ですが、ほとんどの場合、Excelを使用してデータを操作することは不可能ではありません。

しかし、McCulloughとHeiserの論文は、Excelを使用しようとすると、結果がすべて間違っていること、そしておそらく地獄で燃え上がることを実際に叫んでいます。

この論文は正しいですか、それとも偏っていますか?著者は、彼らがマイクロソフトを嫌うように聞こえます。


5
統計計算のためのスプレッドシートソフトウェアの正確性に関する最近の分析は、[Kellie B. Keeling and Robert J. Pavur(2011):Statistical Accuracy of Spreadsheet Software、The American Statistician、65:4、265-273](現在無料でダウンロードできます)でamstat.tandfonline.com/doi/pdf/10.1198/tas.2011.09076)。結果はまちまちで、おそらく少し驚くでしょう。注目すべきは、Excel 2007とExcel 2010間の分布計算の大幅な改善です(RSAS よりも正確であるようです)。
whuber

回答:


45

適切なツールを適切な仕事に使用し、使い慣れたツールの長所を活用してください。

Excelの場合、いくつかの顕著な問題があります。

  • データがスプレッドシートに収まる場合でも、データの管理にスプレッドシートを使用しないでください。あなたはただのトラブル、ひどいトラブルを求めているだけです。誤植、データの大量混合、データ値の切り捨てなどに対する保護は実質的にありません。

  • 実際、統計関数の多くは壊れています。t分布はそれらの1つです。

  • デフォルトのグラフィックはひどいです。

  • 基本的な統計グラフィック、特に箱ひげ図とヒストグラムが欠落しています。

  • 乱数ジェネレーターは冗談です(ただし、それでも教育目的には有効です)。

  • 高レベルの機能とほとんどのアドインを避けます。彼らはc ** pです。しかし、これは安全なコンピューティングの一般原則に過ぎません。関数が何をしているのかわからない場合は、使用しないでください。低レベルのもの(算術関数、ランキング、exp、ln、trig関数、および制限内の正規分布関数を含む)に固執します。 グラフィックを生成するアドインを使用しないでください。ひどいものになります。(注:ゼロから独自の確率プロットを作成するのは非常に簡単です。それらは正確で高度にカスタマイズ可能です。)

ただし、次のような利点があります。

  • その基本的な数値計算は、倍精度浮動小数点数が可能な限り正確です。これらには、ログガンマなどの便利なものが含まれています。

  • スプレッドシートの入力ボックスにコントロールをラップするのは非常に簡単で、動的なシミュレーションを簡単に作成できます。

  • 統計を使用していない人と計算を共有する必要がある場合、ほとんどの人はスプレッドシートである程度快適であり、統計ソフトウェアを使用しても、それがどれほど安価であってもまったくありません。

  • VBAに非常に近い古いFortranコードの移植など、効果的な数値マクロを簡単に作成できます。さらに、VBAの実行はかなり高速です。(たとえば、ゼロからの非中心t分布を正確に計算するコードと、高速フーリエ変換の3つの異なる実装があります。)

  • Crystal Ballや@Riskなどのいくつかの効果的なシミュレーションとモンテカルロアドオンをサポートしています。(彼らは独自のRNGを使用していますが、私はチェックしました。)

  • (小さなセットの)データと直接対話することの即時性は他に類を見ません。統計パッケージやMathematicaなどよりも優れています。大量のストレージを備えた巨大な計算機として使用する場合、スプレッドシートは本当に独自のものになります。

  • 堅牢で耐性のある方法を使用した優れた EDAは簡単ではありませんが、一度実行した後は、すぐに再設定できます。Excelを使用すると、nウェイテーブルの中央値の洗練を含む(少し面倒ですが)TukeyのEDAブックですべての計算(プロットの一部のみ)を効果的に再現できます。

元の質問に対する直接的な回答では、その論文にはバイアスがあります。Excelが最も弱く、有能な統計学者が使用する可能性が最も低い資料に焦点を当てています。しかし、このような警告は放送する必要があるため、それは論文に対する批判ではありません。


7
@whuber長所と短所の素敵で便利な概要!
chl

4
+1バランスの良い素敵な。特に、「直接対話することの即時性」に関するポイントが気に入っています。これは、Excel(または実際にはスプレッドシート)の最大のセールスポイントだと思います。大衆向けの宣言型プログラミング-世界のビジネスロジックの80%がExcelで記述されていると考える人がいる理由を説明します(R v SASやJava v C ++などについて議論するプログラマーや統計学者に指摘する価値があります)。
アルス

2
Microsoftが数年前にExcelの壊れた機能を修正するために数人のアナリストを雇ったと聞きました。Excelの問題が2007バージョンまたは2010バージョンにまだあるかどうかを知っていますか?
ジョンD.クック

2
@Zachたとえば、Excel 2002を使用=TINV(2*p,df)して、0.01からほぼ0まで変化するpの値を計算し、正しい値と比較します。(2から32の範囲のdfでチェックしました。)エラーは6番目の有効数字で始まり、pが1.E-5以下になると爆発します。これらのpの値は小さいですが、複数比較テストおよび非中心tなどのt分布に関連する値の計算に重要であるため、テストするのに現実的な値です。
whuber

2
最初の箇条書きには、星と矢でそれを呼び出す必要があると思います。スプレッドシートには監査証跡はありません。これは、誰かが実際に依存している作業を行う場合に重要です。Rは、対照的に、監査証跡を直接提供しませんが、コマンドを受け入れ、インポート、前処理、プロセス、グラフなどのコマンドを別のファイルに保存できるため、何をしたかを追跡できますグラフ1を取得すると、突然質問する理由がある場合に備えて、ゼロから再作成できます。
ウェイン

18

バイオインフォマティクス設定でのExcelの使用に関する興味深い論文は次のとおりです。

誤った識別子:バイオインフォマティクス、BMC Bioinformatics、2004(リンク)でExcelを使用すると、遺伝子名エラーが誤って導入される可能性があります。

この短いペーパーでは、Excelでの自動型変換(特に日付と浮動小数点の変換)の問題について説明します。たとえば、遺伝子名Sept2は2月9日に変換されます。あなたは実際にオンラインデータベースでこのエラーを見つけることができます

Excelを使用して中規模から大量のデータを管理することは危険です。間違いは、ユーザーに気付かれずに簡単に忍び寄ることができます。


6
これは、私を最も怒らせるExcelの側面です。データストレージには、フォーマットではなく明示的なデータ型が必要です。
マットパーカー

3
実際、これは私をいらいらさせる一般的なMSソフトウェアに関するものです。それはあなたの入力をあなたが実際に意図していると信じるものに変え、そしてあなたは通常それが起こることさえ見ません。
カルロスアクシオリー

@csgillespie(+1)この観点からExcelを聞いてうれしいです!
chl

6
私のお気に入りのエラーは、Excelが他の形式へのエクスポート中にフィールドを静かに切り捨てたときに発生しました。土壌中の農薬濃度のファイルでは、最初の桁を切り落とすことで、1,000,050(非常に有毒)の値を50(ほとんど重要ではない)に変換しました!
whuber

@Mattは、Excelでデータを「保存」している場合にのみイライラします。レポートとグラフ作成のフロントエンドとしてExcelを使用する場合の優れた機能です。
匿名タイプ

11

さて、論文が正しいか偏っているかという質問は簡単なはずです。彼らの分析の一部を複製して、同じ答えが得られるかどうかを確認できます。

McCulloughは数年前からMS Excelの異なるバージョンを分解してきましたが、MSは以前のバージョンで数年前に指摘したエラーを修正するのにふさわしくないようです。

Excelでデータを操作することに問題はありません。しかし、正直に言うと、Excelで "深刻な"分析は行いません。私の主な問題は不正確ではありませんが(問題になることはめったにありません)、1年後にレビュー担当者または上司がXを実行しなかった理由を尋ねたときに分析を追跡および複製することは不可能です-あなたは保存することができます仕事とあなたの盲目の路地はコメントされたRコードでありますが、Excelでは意味のある方法ではありません。


2
(+1)データの編集と分析(j.mp/dAyGGY)の記録を保持する必要性について、Medstatsに関する議論をうまく反映しています!どうも。
chl

「仕事と盲目の路地」を保存することは、RよりもExcelの方が難しくありません。実際にそれを行うだけです。Excelの主な問題は、その強さに関係しています。何かをうっかり変更するのは非常に簡単です。しかし、EDA(OPの焦点)の場合、私たちが行うすべてを保存することはめったにありません。結局、EDAは対話型
whuber

1
VBで行う場合、メソッドの再現可能な記録を保持することは可能ですが、ExcelのGUIフォーカスはその動作を推奨しません。
ジェームズ

7

ちなみに、Googleスプレッドシートの使用に関する質問は、それについて対照的な(したがって、興味深い)意見を提起しました。

あまり悲観的ではないように思えた古い論文を念頭に置いていますが、それはあなたが言及した論文でわずかに引用されています:Keeling and Pavur、A比較研究の信頼性の9つの統計ソフトウェアパッケージ(CSDA 2007 51:3811)。しかし今、私はあなたのハードドライブを見つけました。また、2008年に特別な問題がありました。MicrosoftExcel 2007の特別なセクションを参照してください。さらに最近では、Journal of Statistics Software:On the Numerical Accuracy on Spreadsheetsを参照してください

これは長年の議論であり、統計計算に関するExcelの信頼性についてさまざまな論文や意見があると思います。さまざまなレベルの議論があると思います(どのような種類の分析を計画していますか、内部ソルバーに依存していますか、特定のモデルに入る非線形項がありますかなど)、および数値の不正確さの原因が生じる可能性があります適切な計算エラーまたは設計選択の問題の結果として。これはよくまとめられています

M.アルトマン、J。ギル&MPマクドナルド、 社会科学者のための統計的計算の数値的問題、ワイリー、2004年。

現在、探索的データ分析のために、強化された視覚化機能、多変量および動的グラフィックス、たとえばGGobiを提供するさまざまな代替手段がありますが、このwikiの関連スレッドを参照してください。

しかし、明らかに、最初に行ったポイントは別の問題(IMO)に対処します。つまり、スプレッドシートを使用して大きなデータセットを処理するということです。大きなcsvファイルをExcelにインポートすることはまったく不可能です(ゲノムデータについて考えていますただし、他の種類の高次元データに適用されます)。その目的のために構築されていません。


「さまざまなレベルの議論」に関するニュアンスが好きです。
whuber

7

論文および他の参加者は、技術的な弱点を指摘しています。Whuberは、少なくともその長所のいくつかをうまく説明しています。私は個人的にExcelで広範な統計作業(仮説検定、線形および多重回帰)を行っており、それが大好きです。256列と65,000行の容量を持つExcel 2003を使用します。これは、使用するデータセットの約100%しか処理できません。Excel 2007はその容量を膨大な量(数百万行単位)に拡張したことを理解しています。

Whuberが言及しているように、Excelは非常に強力で使いやすい多数の非常に優れたアドインソフトウェアの開始プラットフォームとしても機能します。クリスタルボールとモンテカルロシミュレーションの@Riskを考えています。XLStatは、強力な統計情報とデータ分析のすべてに対応しています。最適化に最適なもの。そして、リストは続きます。Excelは、膨大な数の信じられないほどのアプリを備えたIPodまたはIPadに相当します。Excelアプリが安くないことは確かです。しかし、彼らができることについては、彼らは通常、かなり素晴らしい掘り出し物です。

モデルのドキュメントに関する限り、テキストボックスを挿入するのは非常に簡単です。ここに、方法論やソースなどに関する本を文字通り書くことができます。また、任意のセルにコメントを挿入することもできます。そのため、Excelは埋め込みドキュメントの作成に非常に適しています。


1
追加の点とあなたの視点を共有してくれてありがとう。
whuber

良い点、誰かが正しい方法でそれを使っているのを聞くのは良いことであり、利益があります。
匿名タイプ

6

Excelは統計には適していませんが、探索的データ分析には素晴らしい場合があります。 特に興味深いテクニックについては、このビデオご覧ください。データを条件付きで色付けし、セル内の棒グラフを追加するExcelの機能は、生データの構造に関する優れた洞察を提供します。


6

Excelを使用したくない理由のもう1つの参考資料は次のとおりです。

スプレッドシート中毒

あなたが本当にExcelを使用する必要がある状況にいる場合(一部の学部が主張します)、Rexcel プラグインを使用することをお勧めします。これにより、Excelを使用してインターフェイスできますが、計算エンジンとしてRプログラムを使用します。Rを使用するためにRを知る必要はありません。ドロップダウンメニューとダイアログを使用できますが、使用すればさらに多くのことができます。Rは計算を実行しているため、Excelよりもはるかに信頼性が高く、ExcelやExcelにはない優れたグラフやボックスプロット、その他のグラフがあります。Excelでのセルの自動更新でも動作します(ただし、毎回再計算する複雑な分析がたくさんある場合は、非常に遅くなります)。スプレッドシート中毒ページのすべての問題を解決するわけではありませんが、ストレートExcelを使用するよりも大幅に改善されています。


1

Excelは、適切なプラグインを使用した探索的データ分析と線形回帰分析の両方に最適です。多くの商用製品がありますが、それらのほとんどは、生成する出力の品質の点で望ましいものを残しています(Excelのグラフ作成オプションや他のOfficeアプリケーションとリンクする機能を十分に活用していません)。一般に、それらはデータの視覚化と表示に使用できるほど優れていません。また、(特に)作業に関する十分に文書化された監査証跡を保持する統制のとれたモデリングアプローチをサポートしない傾向があります。ここでは無料のプラグイン、「RegressIt」は、あること、これらの問題の多くのアドレス: http://regressit.com。探索的分析(最大50個の変数を含む並列時系列プロットおよび散布図マトリックスを生成する機能を含む)の非常に優れたサポートを提供し、遅延、ロギング、差分などのデータ変換を簡単に適用できます(多くの場合、適用されません)回帰の単純なユーザーによって適切に)、データ分析のベストプラクティスをサポートする非常に詳細なテーブルとグラフの出力を提供し、モデルの記録を保持するだけでなく、モデルの比較を容易にする監査証跡ワークシートを維持しますどの順番で取り付けられました。多変量データを処理していて、少なくとも一部の作業がExcel環境で実行されている場合は、使用している他のものを補完します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.