細胞シグナルデータの時系列のピークの評価


9

細胞シグナル測定における応答の存在を測定しています。最初に行ったのは、データの時系列に平滑化アルゴリズム(Hanning)を適用してから、ピークを検出することでした。私が得るものはこれです: 細胞シグナル応答の時系列

応答の検出を「ええ、継続的な低下の上昇を見る」よりも客観的にしたいのであれば、どのアプローチが最適でしょうか?線形回帰によって決定されたベースラインからのピークの距離を取得することですか?

(私はpythonコーダーであり、統計についてほとんど理解していません)

ありがとうございました


4
「最善のアプローチ」は存在しないと思います。時系列のピークを分析または報告するには、多くの方法があります。あなたの質問はあなたが何をしているのかを理解する手がかりを与えません。ヒントやベンチマークについては、自分の分野の記事を参考にするかもしれません。
ttnphns 2011年

手がかりを与えるためにどのような情報を提供すべきかわかりません。基本的に、グラフには下降傾向があり(時間が経過するにつれてセルからの応答が少なくなる)、途中のどこかで出力が上昇する場合があります。それだ。基本的に私が主観的に言って、反応の10%の増加=私が何を求めていると言っていると思いますか?
Radek、2011年

1
時々示されているように、時には継続的に(おおよそ)継続的に減少していると想定すると、1つの大きなグラフを6-10の小さなグラフに置き換えると、半分がこの増加と残りの半分は増加しません。
AVB 2012

複数のローカル最大値(バンプ)を持つことができますか?
Emre、2012

1
なぜあなたはあなたのデータを投稿しないでください、そして私はこれで亀裂を取ります。あなたや他の人が提案した推定フィルタリングには副作用があります。これを客観的に処理する方法が必要な場合は、いくつかの指針を示すことができます。しかし、すべては推定ではなくデータから始まります!
IrishStat 2012

回答:


2

したがって、10月25日のコメントから、2つの主要な機能をアルゴリズムで見つけて特徴付けることに関心があるように思われます。初期応答の減衰と、それに続く応答の増加とそれに続く減衰のサイクルです。私は、データが離散的な時間間隔で観測されていると想定しています。

これが私が試してみるものです:

  1. numpy.ma.polyfitのようなルーチンを使用して、たとえば、データを通じて4次多項式を近似します。これにより、最初の下降とそれに続く上昇/下降が説明されますが、多数の小さな変動は滑らかになります。うまくいけば、この次数の多項式は、他の同様の系列にうまく適合するほど十分に柔軟であろう。主な目標は、あなたが探している主要なパターンを説明する関数を取得することだと思います。
  2. Pythonルーチンを使用して、データに適合する多項式関数の導関数を計算します。ルーチンの例は、scipy.misc.derivativeとnumpy.diffです。1次導関数がゼロである時間値を探しています。これは、関数の可能なローカルの最小値または最大値を示しています。二次導関数テストは、 minまたはmaxに対応する点を確認するために使用することができます。あなたが示したグラフが代表的なものであるならば、おそらくあなたは3つのそのようなポイントを持っているでしょう。ここでセージプロジェクトは非常に価値があることに注意してください。
  3. この時点で、時間の値が関連付けられています。

    a。最初の減衰の開始

    b。上向きの始まり

    c。2番目の減衰の開始

その後、変更を分析するために分析的に必要なことを実行できます。

複数のシリーズにわたって、この方法を適用する場合、上向きの典型的なサイズの変化は何ですか?それは通常減衰期間にいつ発生し、どれくらい続くのですか?そして、この上昇傾向の分布は、場所、大きさ、長さの点でどのように見えますか?これらの統計を知ることで、特定の上昇を、それが発生する場所、およびサイズと継続時間に関して許容範囲内であるとよりよく特徴付けることができます。私の理解の鍵は、これらの変化が起こっている場所を簡単に特定することです。私が説明した残りの部分は簡単に計算できます。


4
多項式は、次数を大きくして偽のピークをもたらす恐れがある場合を除き、これらのデータを処理しません。
whuber

多分私は彼がまだハニング関数を適用して多項式適合を行う必要があるという私の答えを明確にする必要があります。よりスムーズな機能を得るために、ハニングウィンドウを変更する必要がある場合があります。または、低次多項式は平滑化されたデータに対して機能しないと言っていますか?
Josh Hemann、

5
ジョシュ、低次多項式は確実に機能しません。局所的なスムーザー(カーネルのスムースや特定の種類のスプラインを考える)が必要であり、多項式である必要はありません。(多項式は、正常に動作するデータ系列であると思われるものの間に偽の巨大なピークを導入する可能性があります。)
whuber

@whuber、多項式をグローバルにフィッティングすることはおそらく悪い考えだと私は同意しますが、点の周りの関数のテイラー展開は低次の多項式であるため、ローカル2次近似からの係数は1次導関数の推定に対応しているはずです。したがって、ローカルの2次回帰は、「最善」ではないとしても、最も簡単な方法ではないでしょうか。f(x)=f(x0)+(xx0)f(x0)+(xx0)22!f(x0)+...
Sameer

3
その点を明確にしていただきありがとうございます、@ Sameer。ローカルの低次多項式近似が効果的である可能性があることに同意し、以前のコメント(「多項式」をグローバルフィットとして理解することを意図した)で反対を意味するつもりはなかった。しかし、それが「最良」かどうかについては、元の質問に対するttnphnsのコメントに同意する必要があります。一連のデータが密集している局所2次近似は、ガウスカーネル平滑化を厳密に近似するものであり、これにより1つのアプローチが得られます。「最高」のもう1つの意味は、クリギングのBLUPです。
whuber

1

ここにいくつかのアイデアがありますが、私は頭から離れてうまくいくかもしれません...

導関数:配列を取得し、要素を互いに減算して1つ少ないポイントの配列を取得する場合、それが1次導関数です。これをスムーズにして、標識の変化を探すと、バンプが検出される場合があります。

移動平均:おそらく、2つの遅れた(指数またはウィンドウ化された)移動平均を使用すると、小さなバンプを無視して大きなバンプが明らかになる可能性があります。基本的に、小さいウィンドウの移動平均の幅は、無視するバンプの幅よりも大きくなければなりません。幅の広いEMAは幅が広い必要がありますが、バンプを検出するには幅が広すぎてはなりません。

あなたは彼らが交差し、遅れ(ウィンドウ/ 2)を引いたときに探します、そしてそれはあなたのバンプがどこにあるかの推定です。 http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/

線形モデル:十分な幅の一連の線形モデルを実行します。これは、100ポイントとしましょう。次に、データセットをループして、X変数に線形回帰を生成します。Xの係数を見て、大きな符号の変化が起こった場所を確認してください。それは大きなバンプです。

上記は単なる推測であり、おそらくより良い方法があるでしょう。

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