Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- « Previous
- Next »

Highlighted

06-30-2014 06:07 AM

Options

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

I don't remember the details exactly, but finding the local maximum is done by calculation the first derivative of the curve and then, withinn this new curve, searche for the maximum. That's standard math for evaluation functions.

Not sure whether this helps. Please feel free to post your data and describe your problem. That way you might get more detailed feedback on how to find the solution.

Highlighted
Options

06-30-2014 06:11 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Right after hitting the "send" button I remembered what was implemented in my first solution. The sensivity part was NOT implemented in the script. I figured that the sensitivity paramter in the original algorithm was used to cover the fact that there might be consecutive local maxima's because of the noise which typically comes with the data.

I had used a filter early in the process to smooth teh data. With that, I could ignore the sensitivity part and just use the first local maxima.

Andreas

Highlighted
Options

07-01-2014 09:47 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Hi Andreas,

Thanks for your reply. I indeed did the knee detection that way. Following your suggestion about the problem I am trying to solve, I'm posting an example. Basically I have a plot where I am trying to find the 2 most linear portions (before and after the knee) to then extract the respective slopes. The initial idea was to find the knee point, split the curve into 2 segments at the knee point (for which I thought the kneedle algorithm was pretty good) and then run a linear regression on the respective segments to find the portions with the most consistent highest r-square (like a piecewise regression). The respective slopes can then be extracted from the linear equation fitting these points. Do you think there are other more optimal ways of achieving this? I have attached an image of what I am looking to achieve and there is also an excel file of the data example with the first column being the x-axis and the 2nd column being the y-axis if you want to have a look and play :-).

Thanks for your help!

Anoop.

Download All

Virus scan in progress. Please wait to download attachments.

Highlighted
Options

07-02-2014 04:24 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Hello Anoop,

I looked at your description and then at the data you provided. Your algorithm makes sense to me. I definitely don't have a better idea.

I tried to look at teh 2nd derivative of teh curve (after smoothing it) and the result is somewhat ambiguous. So again, looks like you have a good algorithm.

Andreas

Highlighted
Options

06-19-2019 09:58 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Hey I am using this script to calculate knee point WRT time and I was wondering if there is a way to calculate the knee point starting from the end of the time series. Essentially in reverse a where t - time.size then working backwards to find the knee point.

Tim

Highlighted
Options
You have a useful and fascinating solution. I would really like to see the VBScript behind this. I'm open to any arrangement.

07-31-2020 05:30 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

- « Previous
- Next »