일련의 셀 신호 데이터에서 피크 평가


9

셀 신호 측정에서 응답의 존재를 측정하고 있습니다. 내가 한 것은 먼저 시계열 데이터에 평활 알고리즘 (Hanning)을 적용 한 다음 피크를 감지했습니다. 내가 얻는 것은 이것입니다 : 셀 신호 응답의 시계열

응답 감지를 "예를 들어 연속 하락이 증가하는 것"보다 좀 더 객관적으로 만들고 싶다면 최선의 방법은 무엇입니까? 선형 회귀에 의해 결정된 기준선으로부터 피크의 거리를 얻는 것입니까?

(나는 파이썬 코더이며 통계를 거의 이해하지 못합니다)

감사합니다


4
"최상의 접근 방식"이 존재하지 않는다고 생각합니다. 시계열의 피크를 분석하거나보고하는 방법에는 여러 가지가 있습니다. 당신의 질문은 당신이 무엇을했는지 이해할 수있는 단서가 없습니다. 힌트 나 벤치 마크에 대해서는 해당 분야의 기사를 참조하십시오.
ttnphns

단서를 제공하기 위해 어떤 정보를 제공해야하는지 모르겠습니다. 기본적으로 하향 추세 (시간이 지남에 따라 셀의 응답이 적음)가있는 그래프가 있으며 중간에 어딘가에 출력이 증가 할 수 있습니다. 그게 다야. 당신은 응답의 10 % 증가 = 내가 추구하는 것을 말하는 것을 주관적으로 말하는 것이 기본적으로 나에게 달려 있다고 생각합니까?
Radek

1
때때로 동작이 그림과 같이 보이고 때로는 지속적으로 감소한다고 가정하면 큰 그래프 하나를 6-10 개의 작은 그래프로 바꾸면 여기에 합리적인 대답을 얻을 가능성이 훨씬 높아집니다. 이 증가와 다른 절반은하지 않습니다.
AVB

로컬 최대 값 (범프)을 두 개 이상 가질 수 있습니까?
Emre

1
왜 데이터를 게시하지 않습니까? 귀하와 다른 사람들이 제안한 추정 필터링에는 부작용이 있습니다. 이것을 객관적으로 처리하려면 포인터를 줄 수 있습니다. 그러나 그것은 모두 추정이 아닌 데이터로 시작합니다!
IrishStat

답변:


2

따라서 10 월 25 일의 의견에서 두 가지 주요 기능, 즉 초기 응답 감소와 증가 된 응답주기 및 후속 감쇠의 알고리즘을 찾아서 특성화하는 데 관심이 있다고합니다. 데이터가 불연속 시간 간격으로 관찰된다고 가정합니다.

여기 내가 시도 할 것입니다 :

  1. 데이터를 통해 4도 다항식에 적합하도록 numpy.ma.polyfit 과 같은 루틴을 사용하십시오 . 이것은 초기 하락과 상승 / 하강을 설명해야하지만, 많지만 사소한 변동은 완화해야합니다. 이 정도의 다항식이 다른 유사한 계열에 잘 맞을 수 있기를 바랍니다. 내가 생각하는 주요 목표는 찾고있는 주요 패턴을 설명하는 기능을 얻는 것입니다.
  2. 데이터에 맞는 다항 함수의 미분을 계산하기 위해 Python 루틴을 사용하십시오. 루틴 예는 scipy.misc.derivative 및 numpy.diff입니다. 1 차 미분 값이 0 인 시간 값을 찾고 함수의 가능한 로컬 최소값 또는 최대 값을 나타냅니다. 이차 미분 시험 A 최소 또는 최대에 대응 지점을 확인하는데 사용될 수있다. 당신이 보여준 그래프가 대표적이라면 아마도 당신은 그런 세 가지 점을 가질 것입니다. 합니다 세이지 프로젝트는 여기에 매우 도움이 될 수 있습니다.
  3. 이 시점에서 시간 값이 연결됩니다

    ㅏ. 초기 붕괴의 시작

    비. 상승세의 시작

    씨. 두 번째 붕괴의 시작

그런 다음 분석적으로 원하는 것을 수행하여 변경 사항을 평가할 수 있습니다.

여러 계열에서이 방법을 적용 할 때 업 스윙에서 일반적인 크기 변화는 무엇입니까? 이 업 스윙의 분포는 어디에, 얼마나 크며, 얼마나 오래 걸리는가? 이러한 통계를 알면 특정 업 스윙이 발생 시간, 크기 및 지속 시간과 관련하여 허용 범위 내에있는 것으로보다 잘 특성화 할 수 있습니다. 내가 이해 한 열쇠는 이러한 변화가 어디서 발생 하는지 쉽게 식별 하는 것입니다. 내가 설명한 나머지 부분은 간단하게 계산할 수 있습니다.


4
다항식은 스퓨리어스 피크를 유발할 정도로 큰 정도를 만들지 않는 한 이러한 데이터와 함께 작동하지 않습니다.
whuber

아마도 그는 여전히 Hanning 함수를 적용하고 다항식 피팅을 수행해야한다는 내 대답을 분명히해야합니다. 보다 부드러운 기능을 얻으려면 Hanning 창을 변경해야 할 수도 있습니다. 아니면 평활 데이터에 대해 낮은 수준의 다항식이 작동하지 않는다고 말하는가?
Josh Hemann

5
낮은 다항식은 확실히 작동하지 않습니다. Josh. 커널 스무스 또는 특정 종류의 스플라인을 생각하는 로컬 스무더가 필요하며 다항식 일 필요는 없으며 끔찍한 속성이 있습니다. (
다수의

@ whuber, 전 세계적으로 다항식을 피팅하는 것이 나쁜 생각 일 것이라는 데 동의하지만 Taylor는 점을 중심으로 함수를 확장합니다. 에프(엑스)=에프(엑스0)+(엑스엑스0)에프'(엑스0)+(엑스엑스0)22!에프(엑스0)+...는 낮은 다항식이므로 국부 2 차 적합치의 계수는 1 차 도함수 추정과 일치해야합니다. 그러므로 국부 2 차 회귀 분석이 "최고"가 아니라면 가장 간단한 방법이 아닐까요?
Sameer 2016 년

3
그 점을 분명히 해주셔서 감사합니다, @Sameer. 나는 지역의 낮은 수준의 다항식 적합이 효과적 일 수 있다는 것에 동의하며, 이전의 의견 (“다항식”이 글로벌 적합 으로 이해되도록 의도 한)에서 반대를 암시하는 것은 아닙니다 . 그것이 "최상의"인지에 관해서는, 나는 원래의 질문에 대한 ttnphns의 의견에 동의해야합니다 : 그것은 모두 달려 있습니다. 가우시안 커널 스무스에 가깝게 밀집된 일련의 데이터에 로컬 2 차 적합을 기대할 수 있기 때문에 한 가지 접근 방식이 제공됩니다. "최고"의 또 다른 의미는 스플라인과 같은 크루징의 BLUP입니다.
whuber

1

여기 몇 가지 아이디어가 있지만 작동 할 수있는 머리 꼭대기에서 벗어납니다 ...

미분 : 배열을 가져 와서 요소를 서로 빼서 더 적은 점수의 배열을 얻으면 첫 번째 미분입니다. 이제 부드럽게하고 부호 변경을 찾으면 범프가 감지 될 수 있습니다.

이동 평균 : 아마도 2 개의 지연 (지수 또는 창) 이동 평균을 사용하면 작은 범프를 무시하면서 큰 범프가 나타날 수 있습니다. 기본적으로 작은 창 이동 평균의 너비는 무시하려는 범프의 너비보다 커야합니다. 범프를 감지하기 위해 더 넓은 EMA는 더 넓어야하지만 너무 넓지 않아야합니다.

지연 시간 (윈도우 / 2)을 건너 뺄 때를 찾으면 범프의 예상 위치입니다. http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/

선형 모델 : 몇 개의 작은 범프 너비의 충분한 너비의 일련의 선형 모델을 수행하십시오. 이제 X 변수에서 선형 회귀를 생성하는 데이터 세트를 통해 루프합니다. X의 계수를보고 큰 부호 변화가 발생한 위치를 확인하십시오. 그것은 큰 충격이다.

위는 추측에 불과하며 아마도 더 나은 방법이있을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.