After a quick browse of registered packages I realised what a sensible 
question this is. Currently registered is KernelDensity, KernelEstimator, 
KernSmooth, SmoothingKernels. Clearly the last thing we need is another 
package with the word "Kernel" in the title. I just had an (admittedly 
quick) look over the source code in these packages and there appears to be 
some cross-over, and a lot of potential for merging. My best guess is there 
could potentially be one package where currently there is four (five if you 
count mine).

Unfortunately fitting mine into one of these packages is not entirely 
straightforward. I followed the example set in the Distances and 
Distributions packages and made every kernel function its own type, which 
can then be evaluated via multiple dispatch using one function (evaluate). 
However, these other packages appear to be writing a new function name for 
each kernel. I personally prefer the idea of using multiple dispatch and 
the type system, but each to their own.

I think for now, the best thing I can do is to put all the functionality in 
my KernelStat package into the dependent bootstrap package (there isn't 
really that much code in the KernelStat package). If/when a kernel 
statistics package emerges as the dominant paradigm, I can add my bandwidth 
methods to it at that point and add it as a dependency of the 
DependentBootstrap package.

Cheers, I'm glad you like the look of it all.

Colin

On Friday, 24 April 2015 10:56:17 UTC+10, Iain Dunning wrote:
>
> Those all look really neat!
>
> I think RARIMA would be one of the first packages dependent on RCall.
>
> I'm ignorant about kernel statistics, but my only query is,  would this 
> functionality be able to fit into an existing package? If so, it can be 
> good, as it can help to reduce maintenance effort. If its a 
> square-peg-round-hole situation, its fine.
>
> Either way, would be great to get these packges registered!
>
> Thanks,
> Iain
>
>
> On Thursday, April 23, 2015 at 2:45:57 AM UTC-4, [email protected] 
> wrote:
>>
>> Hi all,
>>
>> I've written three new packages for Julia, and am interested in getting 
>> some feedback/comments from the community as well as determining whether 
>> there is sufficient interest to register them officially. The packages are:
>>
>> [DependentBootstrap](
>> https://github.com/colintbowers/DependentBootstrap.jl)
>>
>> [KernelStat](https://github.com/colintbowers/KernelStat.jl)
>>
>> [RARIMA](https://github.com/colintbowers/RARIMA.jl)
>>
>> and can be pulled using Pkg.clone("URL_HERE"). I don't have any problems 
>> compiling them on v0.3, but would be very interested in hearing of any 
>> problems compiling on v0.4 (or v0.3 for that matter).
>>
>> The first package, DependentBootstrap, implements the iid bootstrap, 
>> stationary bootstrap, circular block bootstrap, moving block bootstrap, 
>> tapered block bootstrap, and nonoverlapping block bootstrap, as well as the 
>> block length selection procedures in Politis and White (2004) (including 
>> the correction provided in Patton, Politis and White (2009)), and 
>> Paparoditis and Politis (2002). The main thing it doesn't do (yet) is work 
>> with multivariate data. So just 1-dimensional time-series for now. This 
>> package is implemented entirely in Julia.
>>
>> The second package, KernelStat, just implements some kernel functions 
>> from statistics, and includes three bandwidth estimation procedures, 
>> including the adaptive choice method discussed in Politis (2003). The main 
>> purpose of this package for now is to provide the bandwidth estimates 
>> needed by the block length selection procedures in the DependentBootstrap 
>> package, but in the future it could be merged with other packages to 
>> provide a general package for kernel-based nonparametric statistics. This 
>> package is implemented entirely in Julia.
>>
>> The third package, RARIMA, implements ARIMA estimation, forecast and 
>> simulation. Unfortunately, I didn't have time to implement all the 
>> functions in this package in Julia. To be honest, it is probably a task 
>> better suited to someone more knowledgeable about the ins-and-outs of ARIMA 
>> models and state space representations than I. So instead, what I've done 
>> with this package is use the Julia package RCall to wrap the ARIMA 
>> functionality in R, hence the package name RARIMA. Currently, the 
>> simulation functions in RARIMA are implemented in Julia, there is a version 
>> of the forecast functions implemented in Julia  (but they are not capable 
>> of including confidence intervals), and a version of the forecast functions 
>> that wrap R functionality (these do provide confidence intervals). Finally, 
>> all estimation functions wrap R routines.
>>
>> I would welcome any comments, feedback, recommendations, pull requests, 
>> etc. I would be particularly interested in any suggestions to improve the 
>> performance of the functions in the DependentBootstrap or KernelStat 
>> package.
>>
>> Cheers,
>>
>> Colin
>>
>

Reply via email to