For reference;
http://www.intmath.com/blog/mathematics/math-of-ecgs-fourier-series-4281

On Sun, Oct 25, 2015 at 2:16 PM, Richard Crowder <[email protected]> wrote:

> 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