タグ付けされた質問 「computational-statistics」

統計と計算のインターフェースを指します。統計目的のためのアルゴリズムとソフトウェアの使用。

1
代数的分類子、詳細情報?
代数的分類器:高速交差検証、オンライントレーニング、並列トレーニングへの一般的なアプローチを読み、派生したアルゴリズムのパフォーマンスに驚かされました。ただし、Naive Bayes(およびGBM)を超えると、フレームワークに適応したアルゴリズムは多くないようです。 異なる分類子を扱った他の論文はありますか?(SVM、ランダムフォレスト)

2
非負整数の離散分布からサンプリングする方法は?
次の離散分布があります。ここで、は既知の定数です。α 、βα,β\alpha,\beta p (x ; α 、β)= ベータ(α + 1 、β+ x )ベータ(α 、β)以下のため のx = 0 、1 、2 、...p(x;α,β)=Beta(α+1,β+x)Beta(α,β)for x=0,1,2,… p(x;\alpha,\beta) = \frac{\text{Beta}(\alpha+1, \beta+x)}{\text{Beta}(\alpha,\beta)} \;\;\;\;\text{for } x = 0,1,2,\dots この分布から効率的にサンプリングするためのいくつかのアプローチは何ですか?

3
Mathematicaの乱数ジェネレータは二項確率から逸脱していますか?
それで、コインを10回めくって、それを1つの「イベント」と呼ぶとしましょう。実行すると、これらの「イベント」の1,000,000で、頭が0.4〜0.6のイベントの割合はどれくらいですか?二項確率はこれが約0.65であることを示唆しますが、私のMathematicaコードは約0.24を教えてくれます これが私の構文です: In[2]:= X:= RandomInteger[]; In[3]:= experiment[n_]:= Apply[Plus, Table[X, {n}]]/n; In[4]:= trialheadcount[n_]:= .4 < Apply[Plus, Table[X, {n}]]/n < .6 In[5]:= sample=Table[trialheadcount[10], {1000000}] In[6]:= Count[sample2,True]; Out[6]:= 245682 事故はどこにありますか?

3
Pythonによる時系列異常検出
いくつかの時系列データセットに異常検出を実装する必要があります。私はこれまでにこれをやったことがなく、いくつかのアドバイスを期待していました。私はpythonに非常に慣れているので、ソリューションを実装することを好みます(私のコードのほとんどは、私の作業の他の部分ではpythonです)。 データの説明:過去2年間(つまり24-36期間のみ)に収集され始めたばかりの月次時系列データです。基本的に、複数のクライアントについて月ごとに監視されるいくつかのメトリックがあります。 time_period client metric score 01-2013 client1 metric1 100 02-2013 client1 metric1 119 01-2013 client2 metric1 50 02-2013 client2 metric2 500 ... これが私が考えていることです:データをデータフレーム(パンダ)に取り込み、各クライアント/メトリックのペアのローリング6か月の平均を計算します。現在の期間の値が6か月平均に基づくしきい値を超える場合は、フラグを立てます。問題はかなり単純なようです。しっかりとしたアプローチを取っていることを確認したいだけです。 このアイデアを少し具体化するためのアドバイスをいただければ幸いです。質問が少し抽象的であることを知っています。それをお詫びします。

2
ブースティングツリーの調整パラメーターの最適値を見つける方法
ブースティングツリーモデルには3つの調整パラメーターがあることを理解しています。 ツリーの数(反復数) 収縮パラメータ 分割数(各構成ツリーのサイズ) 私の質問は、各調整パラメーターについて、その最適値をどのように見つければよいですか?そして、どのような方法ですか? 注意:収縮パラメータとツリー数パラメータは一緒に動作します。つまり、収縮パラメータの値が小さいほど、ツリー数の値が大きくなります。これも考慮に入れる必要があります。 分割数の最適値を見つける方法に特に興味があります。背後のモデルに関する相互検証またはドメイン知識に基づく必要がありますか? そして、これらgbmはR のパッケージでどのように実行されますか?

1
事前密度と尤度から事後密度推定を計算するにはどうすればよいですか?
ベイズの定理を使用して事後を計算する方法を理解しようとしていますが、計算アプローチに行き詰まっています。たとえば、次のケースでは、事前確率と尤度の積を取得して計算する方法がわかりません。後部: この例では、事後確率の計算に興味があり、で事前標準標準を使用しますが、知りたいですMCMCチェーンで表される事前分布から事後を計算する方法。したがって、開始点として1000サンプルを使用します。μ P (μ )〜N (μ = 0 、σ = 1 )μμμ\muμμ\mu p(μ)∼N(μ=0,σ=1)p(μ)∼N(μ=0,σ=1)p(\mu)\sim N(\mu = 0, \sigma = 1)μμ\mu 以前からのサンプル1000。 set.seed(0) prior.mu <- 0 prior.sigma <- 1 prior.samples <- sort(rnorm(1000, prior.mu, prior.sigma)) いくつかの観察をします: observations <- c(0.4, 0.5, 0.8, 0.1) そして、尤度を計算します。例::p(y|μ,σ)p(y|μ,σ)p(y | \mu, \sigma) likelihood <- prod(dnorm(observations, mean(prior.samplse), sd(prior.samples))) 私がよく理解していないのは: いつ/どのように事前確率に尤度を掛けるか? …

1
昔ながらのモンテカルロでの複数のシミュレーションの利点は?
この質問の精神は、「古き良きモンテカルロ」としても知られる「普通のモンテカルロ」から来ています。 ランダム変数としますXXX μ:=E[X]σ2:=Var[X]μ:=E[X]σ2:=Var[X]\mu := E[X]\\ \sigma^2:=Var[X] 確率分布関数が不明であるため(または計算が扱いにくいため)、どちらも不明な値です。XXX いずれにせよ、の分布から何らかの形で回の描画(これらは独立しており、まったく同じように分布しています)をシミュレート できるとします。サンプルパラメータを定義しましょうnnnX1,X2,…,XnX1,X2,…,XnX_1,X_2,\dots,X_nXXX μ^n:=1n∑i=1nXiσ^2n:=1n∑i=1n(Xi−μ^n)2μ^n:=1n∑i=1nXiσ^n2:=1n∑i=1n(Xi−μ^n)2 \hat{\mu}_n := \frac{1}{n}\sum_{i=1}^{n}X_i\\ \hat{\sigma}_n^2 : = \frac{1}{n}\sum_{i=1}^{n}(X_i-\hat{\mu}_n)^2 中心極限定理によれば、が非常に大きくなると、サンプル平均は正規分布に厳密に従いますnnnμ^nμ^n\hat{\mu}_n μ^∼N(μ,σ2n)μ^∼N(μ,σ2n) \hat{\mu} \sim N(\mu,\frac{\sigma^2}{n}) 信頼区間を計算する前に、著者はわからないので概算、またはより正確には不偏推定について、そしてそこから標準的な手法を使用して先に進むことができます。σ2σ2\sigma^2σ2≈σ^2σ2≈σ^2\sigma^2 \approx \hat{\sigma}^2σ2≈nn−1σ^2σ2≈nn−1σ^2\sigma^2 \approx \frac{n}{n-1}\hat{\sigma}^2 さて、作者はの重要性を十分に述べていますが(シミュレーションごとの描画の数)、シミュレーションの数とその信頼性への影響については触れられていません。nnn いくつかのサンプル平均を得るためにシミュレーションを実行する(毎回回の描画を実行する)利点はありますか?、そして平均の平均を使用して、未知のに関する推定と信頼性を向上させますか?kkknnnμ^n,1,μ^n,2,…μ^n,kμ^n,1,μ^n,2,…μ^n,k\hat{\mu}_{n,1}, \hat{\mu}_{n,2}, \dots \hat{\mu}_{n,k}μ,σμ,σ\mu,\sigmaXXX または、が十分に大きい限り、1回のシミュレーションでからサンプルを描画するだけで十分ですか?nnnXXXnnn

1
ノンパラメトリック混合モデルとクラスター
ノンパラメトリック混合アプローチで処理しようと考えているクラスターについて質問があります(私はそう思います)。人間の関わりの説明に取り組んでいます。 私のデータベースの各行には以下が含まれます: 誰かのID 環境Xのいくつかのパラメータ(例:温度、風など) パラメータに対する人の反応を表すバイナリ変数Y(例:天候のために病気になるか、病気にならない)。 私の考え(データではなく直感に基づく)は、有限数のグループに人々を集めて、グループ内の人々が同じように温度に反応できるようにすることです(簡単に病気になる人もいれば、決して病気にならない人もいます...)。 。特定のグループでは、より正式には、パラメーターXを条件とするYの法則は同じです。 Xを条件とするYの法則を知りません。パラメータXについては、必要に応じていくつかの仮説を立てることができます。 パラメータに対する同じ反応を「多かれ少なかれ持っている」人々のクラスタを作成したいと思います。さらに、パラメーターの特定の値に対する特定の人の反応を予測したいと思います(このイベントがデータベースで発生したことがない場合でも)。 (Xi,Yi)(Xi,Yi)(X_i, Y_i)XiXiX_iYiYiY_iXiXiX_i XiXiX_i 私のアプローチは正しいですか? この問題について別の見方をお勧めしますか? 私はそれについてのどんな参考文献にも非常に興味があります。 問題の説明を再定式化するよう私に頼むことを躊躇しないでください。

2
特徴の選択と分類において、3つのデータセット全体で2つのアルゴリズムを統計的に比較する方法は?
問題の背景:私の研究の一環として、データセット(がん患者の遺伝子発現データ)から特徴のセットを選択できる2つのアルゴリズムを作成しました。次に、これらの機能をテストして、見えないサンプルをどれだけ癌または非癌として分類できるかを確認します。アルゴリズムの実行ごとに、ソリューション(一連の機能)が生成され、Z個の非表示サンプルでテストされます。ソリューションのパーセンテージ精度は、次のように計算されます(correct classifications / Z) * 100。 アルゴリズムは2つあります:アルゴリズムXとアルゴリズムY データセットA、データセットB、データセットCの3つの別々の(異なる癌)データセットがあります。これらのデータセットは互いに非常に異なります。サンプルごとに同じ数のサンプルや同じ数の測定(機能)はありません。 各データセットで各アルゴリズムを10回実行しました。したがって、アルゴリズムXには、データセットAから10件、データセットBから10件、データセットCから10件の結果があります。全体として、アルゴリズムXには30件の結果があります。 私の問題: 3つすべてのデータセットにわたるアルゴリズムXの合計パフォーマンスが、アルゴリズムYの合計パフォーマンスと統計的に有意に異なるかどうかを確認したいと思います。 各データセットのアルゴリズムXの結果を単一の結果セットに結合することは可能ですか?このようにして、アルゴリズムXの30の標準化された結果とアルゴリズムYの30の標準化された結果を取得します。t検定を使用して、2つの方法の間に有意差があるかどうかを確認できます。 編集-これらは進化的アルゴリズムであるため、実行するたびに少し異なるソリューションを返します。ただし、存在する場合にサンプルを癌または非癌のいずれかに強く分類できるサンプルの機能がある場合、アルゴリズムが実行されるたびにその機能が選択されます。 私が得る少し以下の理由により10回ごとに異なる結果を: これらのアルゴリズムはランダムにシードされます。 私は繰り返しランダムサブサンプリング検証を使用します(10回の繰り返し)。 私が使用しているデータセット(DNAマイクロアレイとプロテオミクス)は、アルゴリズムが行き詰まる可能性のある多くの局所最適値があるという意味で操作するのが非常に困難です。 検出したい機能間およびサブセット間の相互作用がたくさんあります。 私は50の染色体を訓練し、それらは特定の長さに制限されていません。それらは自由に成長したり収縮したりします(ただし、選択圧によって長さが短くなります)。これはまた、最終結果にいくつかのバリエーションをもたらします。 そうは言っても、アルゴリズムはほとんど常に機能の特定のサブセットを選択します! これが私の結果のサンプルです(ここでは、アルゴリズムごとに10のうち4つだけが示されています)。 データセット/実行アルゴリズムXアルゴリズムY A 1 90.91 90.91 A 2 90.91 95.45 A 3 90.91 90.91 A 4 90.91 90.91 B 1 100 100 B 2 100 100 B 3 95.65 100 …

2
ブートストラップと数値積分
ブートストラップアプローチに関する私の理解は、Wassermanのフレームワーク(ほとんど逐語的)に基づいています。 LET (統計であるX iの分布から引き出さIIDサンプルである)。我々は推定したいとしの分散-与えられた。Tん= g(X1、。。。、Xん)Tん=g(バツ1、。。。、バツん)T_n = g(X_1, ..., X_n)バツ私バツ私X_iV F(T n)T n FFFFVF(Tん)VF(Tん)V_F(T_n)TんTんT_nFFF ブートストラップアプローチは、次の2つの手順に従います。 を推定します。ここで、は経験分布関数です。V F(T N)FVF(Tん)VF(Tん)V_F(T_n)VF^(Tん)VF^(Tん)V_{\hat{F}}(T_n)F^F^\hat{F} 近似シミュレーションを用いて。VF^(Tん)VF^(Tん)V_{\hat{F}}(T_n) ステップ2のシミュレーションは、実際に役立つ値に対して実行不可能であることを除いて、正確な計算に置き換えることができることを正しく理解していますか?これが私の考えです:は積分に正確に等しくなり。は有限数ステップのステップ関数です。したがって、質量がゼロでない点を除くすべての点を無視できます。したがって、積分は項の合計に正確に等しくなります。一旦 14を超えると、簡単な直接計算が不可能です。V F T N(X 1、。。。、X N)D F(X 1)D F(X 2)。。。D F(X N)F N N D F(X )、N 、N、NんんnVF^VF^V_{\hat{F}}Tん(X1、。。。、Xん)dF^(X1)dF^(X2)。。。dF^(Xん)Tん(バツ1、。。。、バツん)dF^(バツ1)dF^(バツ2)。。。dF^(バツん)T_n(X_1, ..., X_n)d\hat{F}(X_1)d\hat{F}(X_2)...d\hat{F}(X_n)F^F^\hat{F}んんnんんndF^(x )dF^(バツ)d\hat{F}(x)んんんんn^nんんn しかし、私たちがやろうとしているのは、積分を計算することだけです。総当たりのブートストラップシミュレーションを、積分を取るための従来の数値アルゴリズムに置き換えてみませんか?同じ計算時間ではるかに高い精度になるのではないでしょうか? サンプル空間をセクションに分割するだけの簡単なもの(おそらく、サンプル統計が速く変化する小さなボリュームの場合)で、中間点を使用して各セクションの統計値を推定することは、ブラインドブートストラップよりも優れているようです。 何が欠けていますか? おそらく、ブートストラップは非常に高速で機能するので、もっと複雑なことをする必要はありませんか?(例えば、ステップ1での精度の損失がステップ2でのそれよりもはるかに大きい場合、ステップ2の改善はあまり役に立ちません。)

1
統計のための記号的コンピュータ代数
統計に特化したCASにはどのような機能が必要ですか? MathematicaやMapleなどのシンボリック代数システムは、微積分、論理、物理学の問題によく使用されますが、統計にはほとんど使用されません。どうしてこれなの? この分野での使用を改善するために、シンボリック代数システムにどのような統計的構成を追加できますか?多くの人ができるようにしたいいくつかの特定のコードサンプルは何ですか。 次の3人のユーザーについて考えてください:研究統計学者、別の分野(生物学など)の統計を使用する非統計研究者、統計学の学生。 今後数か月間、SymPyの統計コードに取り組んでおり、必要な機能の入力を求めています。私が使用するものは、必ずしもより広いコミュニティが使用するものではありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.