Ok sounds good. On Fri, Jun 10, 2016 at 12:12 PM, Ashen Weerathunga <[email protected]> wrote:
> Hi Malith, > > Yes, I agree with your point. We can input set of percentiles at once. But > if we want to do that this cannot be implemented as aggregate function > extension since there will be multiple outputs as well. Therefore, we > might have to implement this as a stream processor extension such as > regression extension[1]. But a function like regression, that would be fine > since it has multiple outputs such as standard error, β coefficients etc. > But percentile is a simple aggregate function such as avg, median, max etc. > Therefore, it will be more complicated if we go for such implementation > IMO. Also in a practical situation hope, we might not need lots of > percentiles at once. Therefore, if we need two or three percentiles as you > said, we can simply call the percentile function again and send the outputs > to the same stream IMO. > > [1]https://docs.wso2.com/display/CEP400/Regression > > Thanks, > Ashen > > > On Fri, Jun 10, 2016 at 9:05 AM, Malith Jayasinghe <[email protected]> > wrote: > >> +1 for implementing percentiles. There are cases where have to deal with >> more than one percentile value (e.g. 90% and 95%). What is the best way to >> handle case? Can we have an implementation where we can pass an array >> (containing percentiles) and get the function to return an array of >> percentile values? Or would it make more sense to call the function which >> accepts a single percentile multiple times? >> >> On Thu, Jun 9, 2016 at 1:57 PM, Seshika Fernando <[email protected]> >> wrote: >> >>> Ah yes. That would work. :) >>> >>> On Thu, Jun 9, 2016 at 10:07 AM, Ashen Weerathunga <[email protected]> >>> wrote: >>> >>>> @Suho, >>>> sure, I'll handle that. >>>> >>>> @Seshi, >>>> I'm writing this as an Aggregate Function Extension. Therefore, it >>>> will be supported for all the window types that currently supports for >>>> aggregate functions such as avg, min, max etc. As an example, we can write >>>> a query as below, >>>> >>>> *from inputStream#window.lengthBatch(100)* >>>> *select math:percentile(temperature, 97.0) as percentile* >>>> *insert into outputStream;* >>>> >>>> Above query will return the 97th percentile value of last 100 events of >>>> temperature variable. >>>> >>>> Likewise, we can use other windows such as timeBatch, cron etc as for >>>> the requirement. Would that approach be OK with this? >>>> >>>> Thanks, >>>> Ashen >>>> >>>> On Thu, Jun 9, 2016 at 5:18 AM, Seshika Fernando <[email protected]> >>>> wrote: >>>> >>>>> Ashen, >>>>> Is there no way that we can provide a window for temperature field? >>>>> Practically, we may want to know the 97th percentile of the last n events. >>>>> In that case how would I use this extension? It might be a good idea to >>>>> allow user to provide an interval based on length and/or time (like we do >>>>> for regression) >>>>> >>>>> On 9 Jun 2016 01:54, "Sriskandarajah Suhothayan" <[email protected]> >>>>> wrote: >>>>> > >>>>> > Since p can't change during the execution, make sure to force p to >>>>> be a constant value. >>>>> > Am I correct here ? >>>>> >>>>> +1. Yes, it should be constant. >>>>> >>>>> > >>>>> > Regards >>>>> > Suho >>>>> > >>>>> > On Wed, Jun 8, 2016 at 6:38 AM, Ashen Weerathunga <[email protected]> >>>>> wrote: >>>>> >> >>>>> >> Hi All, >>>>> >> >>>>> >> I'm writing a siddhi extension for calculating percentile values. >>>>> This will be implemented as an Aggregate Function Extension under math >>>>> extensions. Two input parameter will be required for this function as >>>>> below: >>>>> >> >>>>> >> <double> percentile(<int|long|double|float> arg, <double> p) >>>>> >> arg : values that need to be considered when calculating the >>>>> percentile value >>>>> >> p : percentile >>>>> >> This will return an estimate for pth percentile of arg values. >>>>> >> eg : percentile(temperature, 95.0) >>>>> >> returns the 95th percentile value of all the temperature events >>>>> based on their arrival and expiry. >>>>> >> Please let me know if you have any suggestions on this. >>>>> >> >>>>> >> Thanks, >>>>> >> Ashen >>>>> >> >>>>> >> -- >>>>> >> Ashen Weerathunga >>>>> >> Software Engineer >>>>> >> WSO2 Inc.: http://wso2.com >>>>> >> lean.enterprise.middleware >>>>> >> >>>>> >> Email: [email protected] >>>>> >> Mobile: +94 716042995 >>>>> >> LinkedIn: http://lk.linkedin.com/in/ashenweerathunga >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > -- >>>>> > S. Suhothayan >>>>> > Technical Lead & Team Lead of WSO2 Complex Event Processor >>>>> > WSO2 Inc. http://wso2.com >>>>> > lean . enterprise . middleware >>>>> > >>>>> > cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/ >>>>> > twitter: http://twitter.com/suhothayan | linked-in: >>>>> http://lk.linkedin.com/in/suhothayan >>>>> > >>>>> > _______________________________________________ >>>>> > Architecture mailing list >>>>> > [email protected] >>>>> > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> > >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Ashen Weerathunga* >>>> Software Engineer >>>> WSO2 Inc.: http://wso2.com >>>> lean.enterprise.middleware >>>> >>>> Email: [email protected] >>>> Mobile: +94 716042995 <94716042995> >>>> LinkedIn: *http://lk.linkedin.com/in/ashenweerathunga >>>> <http://lk.linkedin.com/in/ashenweerathunga>* >>>> >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Malith Jayasinghe >> >> >> WSO2, Inc. (http://wso2.com) >> Email : [email protected] >> Mobile : 0770704040 >> Lean . Enterprise . Middleware >> > > > > -- > *Ashen Weerathunga* > Software Engineer > WSO2 Inc.: http://wso2.com > lean.enterprise.middleware > > Email: [email protected] > Mobile: +94 716042995 <94716042995> > LinkedIn: *http://lk.linkedin.com/in/ashenweerathunga > <http://lk.linkedin.com/in/ashenweerathunga>* > -- Malith Jayasinghe WSO2, Inc. (http://wso2.com) Email : [email protected] Mobile : 0770704040 Lean . Enterprise . Middleware
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
