Also, covering Sergey's first question, what anomalies are you looking for?
See this report that uses a Fourier Transform and it's inverse for R-peak
detection;
http://www.egr.msu.edu/classes/ece480/capstone/spring13/group03/documents/SignalProcessingofECGSignalsinMatlab.pdf

PS: I have Matlab if required/helps. Although other ways in Python can be
used, see nupic.critic for example.

On Sat, Oct 24, 2015 at 6:13 PM, Richard Crowder <[email protected]> wrote:

> Kentaro, Sergey,
>
> I've been trying to get my head around available data for training/testing.
>
> For example, https://physionet.org/physiobank/ Graph viewing and download
> via
> https://physionet.org/cgi-bin/atm/ATM?database=mimic2wdb&tool=plot_waveforms 
> (River
> view applicable?)
>
> Any idea what could be the best form of data, and which kind of data to
> obtain (ECG only?, with arterial blood pressure, need for labeling?). See
> graph here https://physionet.org/physiobank/database/mimic2wdb/
>
> Best regards, Richard.
>
>
> On Thu, Oct 22, 2015 at 1:12 PM, 飯塚健太郎 <[email protected]> wrote:
>
>> Richard, Sergey,
>> Thank you for replies.
>>
>> I read replies carefully, and noticed some fact.
>>
>> Currently, My code using raw ECG data with NuPIC’s Scalar Encoder and
>> TemporalAnomaly for inferenceType.
>>
>> But It is another way,
>> use pre encoded ECG data to learn and predict anomalies.
>>
>> I found FFT used in Audio Stream example.
>>
>> https://github.com/numenta/nupic/blob/master/examples/audiostream/audiostream_tp.py#L249
>>
>> It might be better to use Wavelet or another encoding technique,
>> That technique make data more discretely and might be suitable for detect
>> anomalies.
>>
>> I think I should learn about Encoding technique.
>> I’ll read the paper Richard suggested, too.
>>
>> Thanks!
>>
>> 2015-10-22 19:36 GMT+09:00 Richard Crowder <[email protected]>:
>>
>>> Hello Kentaro,
>>>
>>> Sergey's questions, response, and paper link are important. The linked
>>> paper is the first I've read on ECG signal analysis, but has a lot of
>>> cross-over with audio and speech signal analysis and recognition. Plus
>>> recently research into steganalysis [1].
>>>
>>> For example -
>>> The use of Wavelet transform, or Fourier Transform / DCT (both magnitude
>>> AND phase),
>>> Perceptual linear prediction, as opposed to Mel-Frequency Cepstral
>>> analysis,
>>> Very importantly, statistical analysis of spectral features -
>>> Wavelet/DCT with Hilbert transform, spectral envelope curve analysis and
>>> derivative tracking (velocity and acceleration of curve changes, can limit
>>> up to 5th order).
>>>
>>> A lot of this occurs within animal's brains, with mammals adding
>>> addition feedback and inference through the neocortex. As humans, we have
>>> exploited the spectral analysis within our 'old brain' to listen, detect,
>>> and track spectral features. Such as ECG signals, and sonar signals
>>> (hunting for shoals of fish and submarines), for example. Cross-over and
>>> similar analysis occurs in vision sensory analysis too (e.g. edge
>>> detection).
>>>
>>> Which points to the key questions of how you are encoding the ECG
>>> signals? As well as classification techniques?
>>>
>>> Best regards, Richard.
>>>
>>> 1 http://www.shsu.edu/~qxl005/new/publications/tifs_audiosteg.pdf
>>>
>>> On Thu, Oct 22, 2015 at 10:18 AM, Sergey Alexashenko <
>>> [email protected]> wrote:
>>>
>>>> Actually, I can write out the scenarios here.
>>>>
>>>> NuPIC should definitely be able to learn different people's heartbeats
>>>> in one model. You have to give it plenty of data to learn on. Also, make
>>>> sure to resetSequenceStates every time you start feeding in data from a new
>>>> person. Finally, you might want to shuffle the data so that you don't feed
>>>> it person 1, then person 2, then person 3, but rather a mixture of all the
>>>> data to reduce bias towards the latest people (but I don't think that this
>>>> is necessary to be honest).
>>>>
>>>> There is, however, the issue of encoding. I'm assuming that you are
>>>> using a scalar encoder produced by swarming. That's fine, that's a quick
>>>> approach and it might work (in fact I would bet that it will produce usable
>>>> results - be mindful of swarming on a data set including different people's
>>>> data, though!).
>>>>
>>>> However, if you think about the data type - ECG data, unlike, say, EEG
>>>> data, consists of almost perfectly discrete steps (heartbeats) which could
>>>> be matched to NuPIC timesteps very well. If you run through the trouble of
>>>> extracting features from your data (there is ample literature on how to do
>>>> it - see [1] for example), and creating encoders for all the
>>>> intervals/amplitudes, I think that NuPIC would do a marvelous job. Note
>>>> that this approach condenses the time interval per step to one per
>>>> heartbeat and, thus, is not going to work if you are trying to do
>>>> super-rapid detection or prediction (on a time scale shorter than one
>>>> heartbeat). It is also more time-consuming for you - once again, swarming
>>>> could work well enough.
>>>>
>>>> Hope this helps,
>>>>
>>>> Sergey
>>>>
>>>> [1] http://arxiv.org/pdf/1005.0957.pdf
>>>>
>>>>
>>>>
>>>> On Thu, Oct 22, 2015 at 1:58 AM, Sergey Alexashenko <
>>>> [email protected]> wrote:
>>>>
>>>>> Hello Kentaro,
>>>>>
>>>>> I think that NuPIC can definitely work with ECG data, but I need a
>>>>> little more information about your project to make any helpful 
>>>>> suggestions.
>>>>> Two questions:
>>>>>
>>>>> 1) Are you trying to predict or detect anomalies? You use both terms,
>>>>> but they involve somewhat different mechanisms.
>>>>>
>>>>> 2) How are you encoding ECG data?
>>>>>
>>>>> Best,
>>>>>
>>>>> Sergey
>>>>>
>>>>>
>>>>> On Wed, Oct 21, 2015 at 10:07 PM, Kentaro Iizuka <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hello NuPIC.
>>>>>>
>>>>>> Thank you Matt for post.
>>>>>>
>>>>>> Here is my question detail. (It is same as gitter post)
>>>>>> https://gist.github.com/iizukak/72526863d3f504f2ff5e
>>>>>>
>>>>>> I hope somebody have good idea for that.
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>>
>>>>>> 2015-10-22 13:29 GMT+09:00 Matthew Taylor <[email protected]>:
>>>>>> > Hello NuPIC,
>>>>>> >
>>>>>> > Check this out:
>>>>>> https://gitter.im/numenta/htm-challenge/archives/2015/10/21
>>>>>> >
>>>>>> > Watch the ECG anomaly in the video:
>>>>>> https://youtu.be/5KdwV-trMhE?t=1m41s
>>>>>> >
>>>>>> > He has an interesting question about how to train a model on a
>>>>>> healthy
>>>>>> > heartbeat, and it is expressed well with pictures in the link
>>>>>> above. He
>>>>>> > wants to train a model with the ECG history of more than one person
>>>>>> to get a
>>>>>> > representation of a "healthy heartbeat". The problem is that every
>>>>>> person's
>>>>>> > heartbeat is a little different. Is it feasible to train a model on
>>>>>> multiple
>>>>>> > heartbeats in sequence? I'm not sure if it will work, but maybe
>>>>>> someone has
>>>>>> > a better idea?
>>>>>> >
>>>>>> > Solving this problem would help in a lot of different signal
>>>>>> analysis
>>>>>> > applications of HTM...
>>>>>> >
>>>>>> > ---------
>>>>>> > Matt Taylor
>>>>>> > OS Community Flag-Bearer
>>>>>> > Numenta
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Kentaro Iizuka<[email protected]>
>>>>>>
>>>>>> Github
>>>>>> https://github.com/iizukak/
>>>>>>
>>>>>> Facebook
>>>>>> https://www.facebook.com/kentaroiizuka
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> 飯塚健太郎([email protected])
>>
>> 埼玉大学理工学研究科
>> 暗号基盤研究室
>> 博士前期課程一年次
>>
>
>

Reply via email to