2013-02-08 20 views
5

私はrosalindプロジェクトから課題を解決しようとしていますが、明らかに間違いを繰り返しています。全文はhereですが、私の短い要旨の解釈と試みは以下の通りです。私は私が間違っているのものを見つける助けてください:AAAaaaアルゴリズム/確率練習

我々は項目の3基を有しています。 Aaで1から始め、kを繰り返して新しいアイテムを生成します。反復ごとに、グループ内のすべての項目は:

  • Aaを作り出すことができる:AA(25%)、Aa(50%)、aa(25%)
  • AAを作り出すことができる:AA(50%)、Aa
  • aa生じる可能性が50%):aa(50%)、Aa(50%)

の反復の結果として、我々は予想数を数えます以前の反復でそれぞれから2つの新しいアイテムを生成すると仮定して、各グループのアイテムを作成します。

  • 0番目ITER:AA:0、Aa:1、aa:0
  • 第一ITER:AA:0.5、Aa:1、aa:0.5
  • 第二だから我々は、で終わりますITER:AA:1、Aa:2、aa: - :2:1
  • 等比率が1にとどまる群間で1

各反復における期待値/母集団の合計は2^iterationであり、グループ内にあるアイテムの確率は、常にAaで50%です。

これまでのところ私は正しいと思っていますが、私たちが実際にしているのは、実験を2回繰り返すと、少なくともNというグループに属するアイテムはどれもAaです。 (に相当する必要があります:私たちはAABBにグループのリストを拡張する場合は、元の質問から...、AABb、グループAaBbに少なくともNアイテムを持っていることのチャンスどのようなもの)

ので、アイテムの確率があることAaは、反復(または2^iteration)からの期待値の母集団の合計であり、テストデータ(k = 2、N = 1)を使用してscipyに投げると、グループAa

これは少なくとも2つのグループがある場合は少なくとも1つのアイテムですので、AaBb

元の質問に答えは全く異なる
In [77]: sum(b.pmf(x) for x in range(1, 4+1))**2 
Out[77]: 0.87890625000000044 

:0.684

は私がミスをしたのですか?(可能であれば、解決策を提示するのではなく、間違いを指摘してください。自分で解決しようとする人々のために残されたスポイラーはありません)

+0

ペーストビンを追加できますか?あなたのコードの? – Killrawr

+0

@Killrawrはい。それは単なるスクリプトなので醜いですが、それは私が描いていることをします:http://pastebin.com/uJz9Gb2Q – viraptor

+0

私はAAとどこから来たのか分かりません。これは、人間が再現する方法、すなわち各親からの1セットの染色体で機能すると考えられていますか?それは、仲間の染色体としてAB、Ab、aB、abの可能性を与えるでしょうか? –

答えて

1

私は最初にあなたの例を踏襲し、しかし、しばらくすると、どこに問題があるのか​​が分かりました。ここで

はあなたの過ちへのポインタです:

あなたが二generetionと、少なくとも1 --Bbに少なくとも一つのAa--を得る確率を計算しています。しかし、第2世代に少なくとも1つのAaBbがあるかどうかを調べるには十分ではなく、Aa----Bbが一致する必要があります。すべての個人がAa--または--Bbのいずれかを持っていますが、何のAaBbが世代ではありませんaaBb, AABb, Aabb, AaBB

は、例えば、次の第二世代を考えてみましょう。

+0

しかし、p1 ==少なくとも1つの 'Aa'とp2 ==少なくとも1つの 'Bb'を見つける確率を考慮すると、p1 == p2であることがわかります。これらは独立しているため、 AaBb 'はp1 * p2である。少なくとも1つの「Aa-」と少なくとも1つの「-Bb」を見つけることは、代わりに1 /(1/p1 + 1/p2)でしょうか?私はp ** 2が一致するジオタイプを考慮することを期待していました。 – viraptor

+1

@viraptorはい、彼らは独立しているので、あなたが言うように 'AaBb'を見つける確率は' p1 * p2'です。これは、あなたの二項分布で 'p'として使うべき値です。 (最終結果を二乗するのと同じことではありません) – user1884905

+0

はい、ありがとうございます - それはまさに問題でした:) – viraptor