Hücre sinyali verilerinin zaman serilerinde piklerin değerlendirilmesi


9

Hücre sinyali ölçümlerinde yanıtın varlığını ölçüyorum. Yaptığım şey önce veri zaman serisine bir düzeltme algoritması (Hanning) uygulamak, sonra zirveleri tespit etmekti. Ne olsun bu: hücre sinyal yanıtı zaman serileri

Yanıtın tespitini "evet sürekli düşüşte bir artış görüyorsunuz" dan biraz daha objektif yapmak isteseydim, en iyi yaklaşım ne olurdu? Piklerin doğrusal regresyon ile belirlenen bir taban çizgisinden uzaklığı elde etmek mi?

(Ben bir python kodlayıcıyım ve neredeyse hiçbir istatistik anlayışım yok)

teşekkür ederim


4
"En iyi yaklaşım" olduğunu düşünmüyorum. Zaman serilerindeki zirveleri analiz etmenin veya rapor etmenin birçok yolu vardır. Sorunuz sonra ne olabileceğinizi anlamak için hiçbir ipucu vermiyor. Belki ipuçları veya karşılaştırmalar için alanınızdaki makalelere başvurursunuz.
ttnphns

Size ipucu vermek için hangi bilgileri vereceğimi bilmiyorum. Temelde aşağıya doğru bir eğilime sahip bir grafiğiniz var (zaman geçtikçe bir hücreden daha az yanıt alırsınız) ve ortada bir yerde çıktıda bir artış görebilirsiniz. İşte bu. Sübjektif olarak yanıtta% 10 artış = neyin peşinde olduğumu söylemenin temelde bana bağlı olduğunu düşünüyor musunuz?
Radek

1
Davranışı bazen gösterildiği gibi gördüğünüz ve bazen de sürekli olarak azaldığınızı varsayarsak (yaklaşık olarak), bir yarının büyük bir grafiğini 6-10 küçük olanla değiştirirseniz, burada makul bir cevap alma şansınız çok daha yüksektir. bu artış ve diğer yarısı artmıyor.
AVB

Birden fazla yerel maksimum (çarpma) olabilir mi?
Emre

1
neden verilerinizi yayınlamıyorsunuz ve ben bu konuda bir çatlak alacağım. Sizin ve başkalarının önerdiği olası filtrelemenin yan etkileri vardır. Bunu ele almak için objektif bir yol istiyorsanız, size bazı işaretçiler verebilirim. Ama her şey varsayımla değil verilerle başlar!
IrishStat

Yanıtlar:


2

25 Ekim yorumunuzdan, iki ana özelliği algoritmik olarak bulmak ve karakterize etmekle ilgilendiğiniz anlaşılıyor: ilk yanıt bozulması ve ardından artan tepki döngüsü ve ardından azalan bozulma. Verilerin ayrık zaman aralıklarında gözlendiğini varsayıyorum.

İşte ne denemek istiyorum:

  1. Verilerinize 4 derecelik bir polinom sığdırmak için numpy.ma.polyfit gibi bir rutin kullanın . Bu, ilk düşüşü takiben yükseliş / düşüşü hesaba katmalı, ancak çok sayıda ama küçük dalgalanmaları düzeltmelidir. Umarım bu polinom derecesi, diğer benzer serilere uyacak kadar esnek olacaktır. Sanırım asıl amaç, aradığınız ana kalıbı açıklayan bir işlev elde etmek olacaktır.
  2. Verilere uyan polinom fonksiyonunun türevini hesaplamak için Python rutinlerini kullanın. Örnek rutinler scipy.misc.derivative ve numpy.diff'dir. 1. türevin sıfır olduğu zaman değerlerini arıyorsunuz, bu da işlevin olası yerel min. Veya maks. Değerini gösterir. Bir ikinci türev testi min veya maks tekabül etmektedir onaylamak için kullanılabilir. Gösterdiğiniz grafik temsili ise, muhtemelen üç puanınız olacaktır. Adaçayı projesinin burada çok değerli olabileceğini unutmayın .
  3. Bu noktada,

    a. ilk bozulmanın başlangıcı

    b. yükselişin başlangıcı

    c. ikinci çürümenin başlangıcı

Daha sonra değişiklikleri değerlendirmek için analitik olarak istediğinizi yapabilirsiniz.

Verilerin kendisi için konuşmasına izin vermek en iyisi olabilir: birden fazla seri boyunca, bu yöntemi uyguladığınızda, yükselişteki tipik boyut değişikliği nedir, genellikle bozulma süresinde ne zaman gerçekleşir ve ne kadar sürer? Ve bu yükselişin dağılımı nerede, ne kadar büyük ve ne kadar uzunluğunda nasıl görünüyor? Bu istatistikleri bilerek, belirli bir yükselişin tolerans dahilinde olduğu, zamanın nerede oluştuğu, boyut ve süre açısından daha iyi karakterize edebilirsiniz. Anladığım kadar önemli olan , bu değişikliklerin nerede meydana geldiğini kolayca tanımlamak olacaktır . Açıkladıklarımın geri kalanı hesaplamak için basittir.


4
Polinomlar, dereceyi o kadar büyük hale getirmezseniz, sahte zirveleri tanıtmakla tehdit etmezler.
whuber

Belki de cevabımı açıklığa kavuşturmalıyım ki hala Hanning işlevini uygulaması ve sonra polinom uyumunu yapması gerekiyor. Daha düzgün bir işlev elde etmek için Hanning penceresinin değiştirilmesi gerekebilir. Yoksa düzeltilmiş veriler için düşük dereceli bir polinomun işe yaramayacağını mı söylüyorsunuz?
Josh Hemann

5
Düşük dereceli bir polinom kesinlikle işe yaramaz Josh. Bir pürüzsüz veya spline belirli türlerdeki çekirdeği düşünmek - - yerel bir daha pürüzsüz ihtiyaç ve ihtiyacı olmayan korkunç özelliklere sahip olan bir polinom olmak. (Polinomlar, aksi takdirde iyi davranılmış veri serileri gibi görünen, arasında büyük, büyük zirveler
sunabilir

@whuber, küresel olarak bir polinom takmanın muhtemelen kötü bir fikir olacağını kabul ederken, Taylor bir fonksiyonun etrafında genişlemesi düşük dereceli bir polinomdur ve bu nedenle yerel bir kuadratik uyum katsayıları ilk türevi tahmin etmeye karşılık gelmelidir. Bu nedenle, yerel kuadratik regresyon "en iyi" olmasa bile, en açık yol olmaz mıydı? f(x)=f(x0)+(xx0)f(x0)+(xx0)22!f(x0)+...
Sameer

3
Bu noktayı açıkladığınız için teşekkürler, @Sameer. Ben katılıyorum yerel düşük dereceden polinom uyum etkili olabilirdi ve ben (üye olarak anlaşılmalıdır "polinom" amaçlanan önceki yorumunda tersini ima etmek istemedim küresel uyum). Yine de "en iyi" olup olmadığı konusunda, ttnphns'ın orijinal soruya yaptığı bir yorumla hemfikirim: hepsi bağlıdır. Yoğun veri serileri ile yerel karesel uyumların Gauss çekirdek düzeltmelerine çok yakın olmasını bekleriz, bu da bize bir yaklaşım sağlar. Başka bir "en iyi" duygusu da spline benzeri olabilen kriging BLUP'udur.
whuber

1

İşte bazı fikirler ama başımın üstünde işe yarayabilir ...

Türevler: Daha az puanlık bir dizi elde etmek için dizinizi alır ve öğeleri birbirinden çıkarırsanız, ancak bu ilk türevdir. Şimdi bunu düzeltirseniz ve işaret değişikliğini ararsanız, bu yumru algılayabilir.

Hareketli ortalamalar: Belki de 2 gecikmeli (üstel veya pencereli) hareketli ortalama kullanmak, küçük yumru göz ardı ederken büyük yumru ortaya çıkarabilir. Temel olarak, daha küçük pencere hareketli ortalamasının genişliği, yoksaymak istediğiniz tümseklerin genişliğinden daha büyük olmalıdır. Daha geniş EMA daha geniş olmalı, ancak yumruları algılayamayacak kadar geniş olmamalıdır.

Gecikmeyi geçip çıkardıklarını (pencere / 2) ararsınız ve bu, çarptığınız yerin bir tahminidir. http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/

Doğrusal modeller: Birkaç küçük yumru genişliğinde yeterli genişlikte bir dizi doğrusal model yapın, diyelim ki 100 nokta. Şimdi X değişkeni üzerinde lineer regresyonlar üreten veri setinden geçirin. Sadece X katsayısına bakın ve büyük işaret değişiminin nerede olduğunu görün. Bu büyük bir yumru.

Yukarıdaki sadece varsayım benim tarafımda ve muhtemelen bunu yapmanın daha iyi yolları var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.