問題タブ [statistics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 連続確率分布の表現
連続確率分布関数のコレクションに関連する問題があります。そのほとんどは経験的に決定されます(出発時間、通過時間など)。私が必要としているのは、これらのPDFのうちの2つを取得し、それらを計算する方法です。たとえば、PDFXから取得した2つの値xとPDFYから取得したyがある場合、(x + y)またはその他の操作f(x、y)のPDFを取得する必要があります。
分析的な解決策は不可能なので、私が探しているのは、そのようなことを可能にするPDFの表現です。明らかな(しかし計算コストの高い)解決策はモンテカルロです。xとyの値をたくさん生成し、f(x、y)を測定するだけです。しかし、それにはCPU時間がかかりすぎます。
私は、PDFを範囲のリストとして表すことを考えました。各範囲はほぼ等しい確率であり、PDFを一様分布のリストの結合として効果的に表すことができます。しかし、それらを組み合わせる方法がわかりません。
誰かがこの問題に対する良い解決策を持っていますか?
編集:目標は、PDFを操作するためのミニ言語(別名ドメイン固有言語)を作成することです。しかし、最初に、基礎となる表現とアルゴリズムを整理する必要があります。
編集2: dmckeeはヒストグラムの実装を提案します。それが、一様分布のリストで得ていたものです。しかし、それらを組み合わせて新しいディストリビューションを作成する方法がわかりません。最終的には、これが非常に小さい場合に備えて、P(x <y)のようなものを見つける必要があります。
編集3:ヒストグラムがたくさんあります。発生データから生成しているため、均等に分散されていないため、基本的に100個のサンプルがあり、ヒストグラムに10個のポイントが必要な場合は、各バーに10個のサンプルを割り当て、バーを可変幅で一定の面積にします。
PDFを追加するには、それらを畳み込むことがわかったので、そのための計算に骨を折った。2つの一様分布を畳み込むと、3つのセクションを持つ新しい分布が得られます。広い一様分布はまだ存在しますが、狭い方の幅の両側に三角形が貼り付けられています。したがって、XとYの各要素を畳み込むと、これらがすべて重なり合うようになります。今、私はそれらすべてを合計する方法を理解し、それからそれに最適な近似であるヒストグラムを取得しようとしています。
結局、モンテカルロはそんなに悪い考えではなかったのだろうかと思い始めています。
編集4: このペーパーでは、一様分布の畳み込みについて詳細に説明します。一般に、「台形」の分布が得られます。ヒストグラムの各「列」は一様分布であるため、これらの列を畳み込み、結果を合計することで問題が解決されることを期待していました。
ただし、結果は入力よりもかなり複雑で、三角形も含まれます。 編集5: [間違ったものを削除しました]。しかし、これらの台形が同じ面積の長方形に近似されている場合は、正しい答えが得られ、結果の長方形の数を減らすことも非常に簡単に見えます。これは私が見つけようとしてきた解決策かもしれません。
編集6:解決しました!この問題の最終的なHaskellコードは次のとおりです。
他の演算子は、読者の練習問題として残されています。
google-maps - アプリまたはAPIを作成するGoogleアナリティクススタイルの地図を探しています
訪問者のIPアドレスに基づいてアプリまたはAPIを作成するGoogleアナリティクススタイルのマップを探していますが、何か提案はありますか?
ありがとう、
ニコ・ペレス
statistics - 論理言語-PrologまたはLisp/Smalltalkまたは他の何か?
だから、私はある種の統計プログラムを書いています(実際にはそれをよりエレガントなものに再設計しています)そして私はその種のもののために作成された言語を使うべきだと思いました(統計の膨大なデータ、それらの間の接続を扱うある種の遺伝的/ニューラルプログラミング)。
実を言うと、私はlisp / smalltalkに飛び込む言い訳が欲しいだけです(smalltalk / lisp / clojureは同じではありませんか?-pythonとrubyのように?-セマンティクス的に)が、言語も簡単に理解できるようにしたいですBASIC言語が好きな他の人々によって(それが私がLISPを選択しなかった理由です-まだ:D)。
私もPrologをチェックしましたが、それはかなりクールな言語(データ間の関係を行うのが簡単で、Lispよりも簡単)のようですが、あなたの考えを聞きたいです。
どうも
編集:私はいつも一般的なlispをSmalltalkと混同しています。これらの2つの言語を組み合わせて申し訳ありません。また、「BASIC言語が好きな他の人々 」が意味するのは、lisp(CSのバックグラウンドを持たない人々)のようなセマンティクスを持つ言語を好まないということです。Prologはもう少し直感的です(しかし、それは私の私がそれらの両方を少しいじった後の意見)。
svn - TortoiseSVN で統計を取得することは可能ですか?
各ユーザーの貢献、総行数などに関する統計を取得することは可能ですか?
statistics - 静的に型付けされたコードと動的に型付けされたコードの比較 - コストと利点
そのメリットが何であれ、Adobe の Actionscript 3 は、型付き言語と型なし言語の結果を探求するまたとない機会を提供します。等
これにより、重要な言語構文を除外しながら、両方の方法で書かれた同じコードを比較することが可能になります。
これは、エラー率、プログラミングの生産性、およびコード量に関して、特にコンパイル中のエラー チェックに対する強い型付けの真の利点について定量的な証拠があるかどうか疑問に思います。それとも、私たちの視点は完全に憶測と推測に基づいていますか? 両方の方法で使用できる他の言語はありますか (昔ながらの VB は数えません - いずれにしても非常に尊敬されている言語ではありません)
私は両方の言語でかなりの時間を費やしてきましたが、どちらの方法を好むかを最終的に決定していません。また、事例証拠に追加したくありません-客観的な情報を探しています.
algorithm - 2 つの正規分布の和を計算する方法
ガウス分布を表す値型があります。
これらの一連の値に対して積分を実行したいと思います。
私の質問は、これらの正規分布の加算を実装する方法です。
スカラー ( dt
) による乗算は十分に単純に思えました。しかし、それは簡単ではありませんでした!助けてくれたFOOSHNICKに感謝します:
しかし、追加は私を避けます。手段を追加するだけでよいと思います。私を悩ませているのは分散です。これらの定義はどちらも「論理的」に思えます。
統計的に正しい、または少なくとも「合理的な」バージョンの+
オペレーターを定義するのを手伝ってくれる人はいますか?
代わりに区間演算を使用するようにコードを切り替えることができると思いますが、確率と統計の世界にとどまることを望んでいました。
php - PHPでボットを認識する方法は?
ユーザーの統計を作成していますが、ボットからの訪問をカウントしたくありません。
これで、ページが呼び出されるたびに mysql が 1 ずつ増える基本的な php ができました。
ただし、ボットもカウントに追加されます。
誰でも方法を考えることができますか?
主に、物事を台無しにする主要なものです。Google、Yahoo、Msn など。
java - 累積標準正規分布関数を計算する Java ライブラリはどれですか?
プロジェクトでは、数式を使用した仕様があり、実装する必要があります。これらの式には、フロートを取り、確率を出力する累積標準正規分布関数が存在します。関数は Φ で表されます。この関数を計算する Java ライブラリはありますか?
unit-testing - 不確実性を伴う単体テストを行う方法は?
実行ごとに異なる結果を生成するいくつかの異なる最適化アルゴリズムがあります。たとえば、最適化の目標は、関数の最小値を見つけることです。ここで、0 はグローバル最小値です。最適化を実行すると、次のようなデータが返されます。
これは大域的最小値に非常に近いため、これで問題ありません。私たちの最初のアプローチは、しきい値を選択するだけで、高すぎる結果が発生した場合に単体テストを失敗させることでした。残念ながら、これはまったく機能しません。結果はガウス分布のように見えるため、可能性は低いですが、アルゴリズムがまだ問題なく、運が悪かっただけでも、テストが失敗することがあります。
では、どうすればこれを適切にテストできますか? ここではかなりの統計が必要だと思います。また、テストが依然として高速であることも重要です。テストを数 100 回実行して平均を取るだけでは遅すぎます。
ここにいくつかのさらなる説明があります:
たとえば、円を一連の点に合わせるアルゴリズムがあります。非常に高速ですが、常に同じ結果が得られるとは限りません。ほとんどの場合、それで十分であることを保証する単体テストを作成したいと思います。
残念ながら、アルゴリズムが以前とまったく同じ結果を生成するかどうかをテストしたくないため、乱数ジェネレーターに固定シードを選択することはできませんが、「90% の確実性で 0.1 またはより良い"。