研究主張の正確さを評価するために、統計はどのようにコンピューターサイエンスに適用されていますか?


8

私の短い学術生活の中で、私たちの地域で発表された多くの論文は統計に関してそれほど厳密ではないことがあります。これは単なる仮定ではありません。教授が同じことを言うのを聞いたことがあります。

たとえば、CSの分野では、方法論Xが効果的であることが観察され、ANOVAとANCOVAによって証明されたと主張する論文が発表されていますが、必要な制約が観察されたと評価している他の研究者への言及はありません。「複雑な関数と名前」が表示されるとすぐにそれはやや感じますが、それは、研究者が信頼できる方法とアプローチを使用していることを示しています。 、たとえば、コミュニティが評価できるように、その特定の分布またはアプローチについて。

場合によっては、このような小さいサンプルサイズで仮説を正当化するための言い訳があります。

したがって、ここでの私の質問は、統計学についてもっと学びたいという志を持つCS分野の学生として提起されています。コンピュータ科学者はどのように統計学に取り組みますか?

この質問は、私がすでに説明したことを尋ねているように見えるかもしれませんが、それは私の意見です。私は間違っているかもしれないし、実践者のグループに焦点を当てているかもしれないが、CS研究者の他のグループは統計の厳密さに関してより良い実践に従う別のことをしているかもしれない。

具体的には、私が欲しいのは、「与えられた事実(論文の例、本、またはこれに関する別のディスカッション記事で結構です)のために、私たちの領域は統計に含まれているかどうかです。」です。@パトリックの答えはこれに近いです。


私の答えがあなたが探していたものと一致しない場合はお知らせください...必要に応じていくつかの例を見つけることができますが、あなたはすでにあなた自身を十分に持っているようです。さらに、議事録にアクセスできない限り、論文へのリンクを提示するのは難しいかもしれません。
Patrick87 2012

私はIEEEとACMのデジタルライブラリにアクセスできます。例はあなたの投稿でも大歓迎です。後でそれらを使用して、博士号を取得したときに、この点に関する良い例と悪い例をアドバイスする生徒に見せることができます。そして、はい、これは私が探していた意見と発言のスポーツです。
Oeufcoque Penteano 2012

コンピュータサイエンスの大部分は経験的なものではないため、統計情報を(乱用)しないでください。ぎこちないメモとして、ソフトウェアエンジニアリングの人々は、多くのことを書き、(関連性のある)何も言わないことが「知られています」。最初のステップは統計を学ぶことです。私が知っているソフトウェア工学研究者の中には、統計学のコースや何かをこれまでに受けたことのある人はほとんどいません。
ラファエル

いい視点ね。私もこれに耳を傾けています。次に何を検討しますか?
Oeufcoque Penteano 2012

回答:


11

コンピューターサイエンス以外の分野の研究に従事し、統計が実りあるコンピューターサイエンスの分野で研究グループに従事しているコンピューターサイエンスの大学院生として、私は自分の経験を提供することができます。あなたのマイレージは異なる場合があります。

一般的に、最も意味のある科学的研究でさえ、統計分析を厳密に結果に適用できない可能性があり、これは、そのような不十分に分析された結果を含む論文が出版のために受け入れられることを常に排除するわけではないというのが私の経験です。私のグループが活動している領域は、主に分散コンピューティングと高性能コンピュータアーキテクチャです。多くの場合、研究には実験計画が含まれ、その性能は必要な詳細では分析的に簡単に理解することができません。このように、実証結果はしばしば主張の証拠として使用されます。

明らかに、実験は、結果が統計的に有意であるというある程度の信頼を提供するような方法で設計され、結果が分析されるべきです。ほとんどの場合、これは、最も重要な場所のいくつかでさえ、行われていません。統計分析を適用すると、意味のある意味で厳密になることはほとんどありません。最も1は、一般的に見て(と一つは、それを見て嬉しいです!)実験が繰り返されたことがあるのnいくつかの任意に選択されたため、時間のn一般的に、1<<5。エラーバーの選択(表示されている場合)は、主に個人の好みや好みの問題のようです。

要約すると、いいえ、それはあなただけではありません。ソフトウェアエンジニアリングだけではありません。一般に、私の経験に基づくと、コンピューティング研究のいくつかの領域は、十分に機能していないことを誤ると思われます。確かに、提出された論文が統計的考察に精通することの実行可能性にさえ有害であるかもしれません。だからといって、状況が満足できるものだと言っているのではありません。それから遠い。しかし、これら私の印象です。たとえば、このペーパーのセクション5をご覧ください。は、高性能コンピューティングの分野で最も注目度の高い会議の1つであるSupercomputing 2011で発表されました。具体的には、セクション5の結果の議論のいくつかを見て、実験結果の厳密な統計分析について私が行うのと同じ結論に到達するかどうかを確認してください。

より一般的には、この欠点は、コンピューティングの一部の領域の状態の兆候であり、ジャーナルではなく会議を対象とし、理解を大幅かつ根本的に改善するのではなく、段階的な進歩を強調するというものです。これらの線に沿って貴重な洞察を提供するこの記事を参照するかもしれません。


どうもありがとうございました。他の人がこのように考えているのを見てうれしいです。コミュニティが共有する他の意見、または最低でも国の意見に投票することを望んでいます。:)ここではあまりにも悪いので、私はまだ新人なので、何も投票できません。
Oeufcoque Penteano 2012

@OeufcoquePenteanoねえ、彼らが始めたとき、誰もが新人です。これは良い質問であり、研究標準の計算における潜在的な欠点について興味深い点を提起します。すぐに答えを追加します。また、このような質問は(これまでのところ)疑惑があると見なされており、このサイトはまだベータ版であるため、コミュニティはまだここでトピックのオンとオフを定義します。
Patrick87 2012

しかし、コンピュータサイエンスと研究について述べた最初の提案と、これはこの基準を正しく満たしていますか?この時点で、この質問をゲームから追い出す他の洗練された基準はありませんか、それともありますか?または、この質問について私が議論できる他のスタックファミリはありますか?お返事をいただきありがとうございます:)
Oeufcoque Penteano 2012

1
概念実証の実装のベンチマークについては、どのようにして重要性を確立できるかを理解するのに苦労しています。ここで統計を適用することは不可能のようです。単独で測定を行うことは統計ではありません。ただし、測定値を注意深く解釈することが重要です。
ラファエル

4
@ Patrick87:統計的有意性を無視することを主張したくない。しかし、それ難しいです。ちなみに、私は修士論文のベンチマークを行います。私は自分の物を(何度も)2〜3台のマシンで実行し、適切な時間を測定するように注意しています。他に何ができますか?JVMを途中に置いたアルゴリズムのマルチコア実行の確率モデルが何なのかわからないので、私は厳密な統計を採用することすらできません。
ラファエル

2

ソフトウェアエンジニアリングには多くの機能が含まれています。それらの2つは、ヒューマンファクターと品質測定です。

生産性分析をしたいとしましょう。データは人間の生産性に関するものであるため、データ収集はアルゴリズム分析と比較すると困難です。また、品質の客観的な尺度を達成することは容易ではありません。

アビオニクスシステムの場合は1日あたり10行のコードと、スマートフォンのアプリの場合は1日あたり150行のコード。どちらが生産性が高く、どちらが品質が高いですか。そして、両方が同じ方法論を使用していると主張する場合はどうなりますか?それらを比較することは、リンゴとオレンジを比較することです。

コードの効率を正確に測定することが難しい場合があります。たとえば、デバッグのために、たくさんの役に立たない変数と、それらの変数に対して多数のコード行を入れました。これにより、開発段階での生産性が向上します。最後に、私はそれらすべてを取り出し、効率を上げるためにコードを改善したと言います。

その後、研究者がやってきて効率分析を行います。彼は上記をノイズとして扱い、最終結果にのみ集中するかもしれません。一部の研究者はノイズに注意を払っています。次に、異なる結論の記事を表示します。

統計は、研究者が問題の原因を見つけるのを支援するツールとなるはずです。多くの研究者が結論を導き出すためにそれを使用しています。これはあなたが観察したものです。


上記のいくつかのコメントは、ソフトウェアエンジニアリングでの統計の使用に反対しているとOPに思わせる可能性があります。もしそうなら、私は自分自身を明確にしたいと思います。

私は統計に反対していません。統計分析により、X 真であることがわかります。しかし、それで研究が終了するわけではありません。次のタスクは、Xが実際に真であるかどうかとその理由を見つけることです。これが、科学が真実であると考えることです。

ソフトウェアエンジニアリングがコンピュータサイエンスに属しているかどうかは、別の問題です。


こんにちは、ありがとう。私はあなたがあなたの質問にコメントすることができると思うので、これはうまくいくはずです。あなたはソフトウェアエンジニアが不確実性のために統計についてもっと非公式になることを許されることができるということですか?知りません。ほら、私は教授から得た、社会研究者のための統計学を教える本を持っています。彼らの側は私たちのものよりもはるかに悪いと思います、そして彼らはそのための本で明確に定義された例さえ持っています。なぜ、静的コードでさえ別の方法で試すことができないのでしょうか?
Oeufcoque Penteano 2012

これは、研究と実際に産業界で働く人々の間で私がよく耳にするギャップではないでしょうか。私はあなたが開発者側にとって統計について心配するのではなく、プログラムを機能させることに同意します。しかし、はい、プロジェクトマネージャーは、開発者がスケジュールより遅れているかどうかを予測するためにそれを必要とするでしょうか?それでも質問の「研究主張」の部分を考慮して、たとえば開発者が無意識のうちに生産性と仕事の楽しさを低下させることはほとんどないと推測するなど、統計の正確さは役に立たないと思いますか?私の懸念はそこにあります。
Oeufcoque Penteano 2012

あなたは実験的研究を行うと人を主題とみなすということですか?私はこれを理解するためにコードを測定することについて話していました。申し訳ありませんが、あなたの最後の発言だけで混乱しています。しかし、あなたの洞察に感謝します!
Oeufcoque Penteano 2012

了解しました。わかりました。私はこれが新人なので、コメントについての長いディスカッションが悪い習慣になることを知りませんでしたので、ここで停止します。あなたの洞察をありがとう。あと数日待って、回答を選びます(質問がこのコミュニティに当てはまらず、クローズされる場合)。
Oeufcoque Penteano 2012

あなたは同じ統計学について話しているのだろうか。一般に、「統計」は通常、測定値の集まりです。数学と科学では、「統計」はデータ/測定値を与えられたモデルパラメータの推定です。したがって、LOCカウントをリストすることは、科学的な意味での統計でさえありません。LOCデータからパラメーター「開発者のコ​​ーヒーの平均消費量」を(正確に)見積もることができる場合は、(関連する)統計を行っています。相関するイベントが見つかりました。
ラファエル

1

統計は難しく、直感に反することがよくあります。さらに、効果があるかどうかを確認するために「実験をもう1つ実行する(そして、それが現れたときに停止する)」という衝動は、特に実験にコストがかかる(時間、作業、お金だけではない)場合に強くなります。また、注意深く設定した、長くて費用のかかる実験がどのように統計的に有意な関係を示さないかについての論文を発表することは、不可能になる傾向があることも覚えておいてください。

特にソフトウェア工学では、多くの制御できない変数があります。それらを説明するには、実験の多くの複製が必要であり、1つまたは多くて2つのリソースを取得できます。


-3

したがって、ここでの私の質問は、統計学についてもっと学びたいという志を持つCS分野の学生として提起されています。コンピュータ科学者はどのように統計学に取り組みますか?

上記のいくつかの質問があり、いくつかはタイトルの質問と同じではありません。いくつかの点で、この質問には、統計とCSの間の接続の欠如に関する根本的な誤った前提/誤解があります。一般的な質問は、コンピューターサイエンスと統計のインターフェイスについてです。

そこにあるいくつかの地域で強烈な重複にverging、広大なそして、それは、新しい強力に新興分野で増加傾向であるビッグデータ。一部の学校(エリート「アイビーリーグ」学校など)でも、CSの学位は数学および統計学部と密接に結び付いており、一部の学校では共同専攻があります。機械学習の CS /統計分野には非常に強い相互関係があります。また、バイオインフォマティクスの比較的新しい分野には、非常に強力なCS +統計的根拠があります。

インターフェースに焦点を当てたフィールド全体の計算統計があります!

計算統計、または統計計算は、統計とコンピュータサイエンスの間のインターフェースです。これは、統計学の数理科学に固有の計算科学(または科学計算)の領域です。この分野も急速に発展しており、一般的な統計教育の一環として、より広範なコンピューティングの概念を教える必要があるとの呼びかけにつながっています。[1]

はい、同意しました。質問で指摘されているように、統計を使用しない多くのCS論文があります。これには、(実証実験の評価などの)統計が非常に適用可能で関連性がある場合も含まれますが、他の多くの論文でもまったく同じです。数学などの科学分野、さらには物理学などの応用分野。

統計を使用/適用するには多くの方法があり、一部は他の方法より厳格ではなく、すべてのコンテキストが統計の非常に高度な側面の完全な適用を要求するわけではありません。たとえば、複数の実験を実行し、統計的偏差(または単に平均値)のエラーバーをプロットするだけでも、統計の基本的な使用法です。より厳密な用途には仮説検定が含まれますが、多くの科学論文が適用可能な場合でも厳密な仮説検定を行わないという一般的な見方があります。

また、この質問にはタグが付けられています 。これは私の専攻でしたが、私の学校でこの学位を修了し、工学認定の専攻(ABETなど)を取得するには、統計学のクラスが必要でした。これは、他の多くの大学でも同様です。統計の適用など、より適用された厳密なCSタイプの原則が必要な場合は、教育の「ソフトウェアエンジニアリング」ルートを使用できます。


別のコメントで指摘されているように、より抽象的なTCSでの統計の使用には、平均ケース複雑度分析PAC学習などが含まれます
vzn

1
平均ケースの複雑さの分析は統計を使用しませ。確率論、確かに、それは別のことです。
ラファエル

強く同意しない!それは明らかに主要な/基本的な統計的概念を使用しますが、おそらくそれが教えられていません!分野の学問的見解は区分化される傾向があり、その反映はここにあります!入力の分布などへの参照は、明らかに統計的概念の呼び出しです...
vzn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.