# Share your approach 

I am not in top 10. But I have used a lot from what others have done, especially from Miroslaw Horbal. So I want to share what I have done. Hopefully, those in top 10 could give us some thoughts. If those winners can share, that will be the best.
I have used two approaches:
1. use gbm to do feature selection. Then use linear regression with l1 loss, you can find Miroslaw's code:
[here](http://www.kaggle.com/c/battlefin-s-big-data-combine-forecasting-challenge/forums/t/5582/the-hint-thread)
. This approach is simple. But it costs a lot of time. To do feature selection, it costs me around 24 hours in a server with 20 threads. But I have a server with 16 cores, 32 threads. So it's fine for me. I have uploaded the result of feature selection. You can download it directly, and put it into output dir.
2. use another model, can I say it as ar model. This also comes from Miroslaw's sharing:
[here](http://www.kaggle.com/c/battlefin-s-big-data-combine-forecasting-challenge/forums/t/5582/the-hint-thread?page=3)
. I defined the method as this:
p = a0 * x0 + (1-a0)*a1*x1 + (1-a0)(1-a1)a2*x2 + ... + (1-a0)(1-a1)...(1-an-1) an xn + b.
To minimize the function, we have to define cost and gradient. You can refer to my code. This approach is quite efficient, it just costs me a few minutes. From private scores, this model is also better.
With the first approach, public score: 0.41820 private score: 0.42668
With the second approach, public score: 0.41833 private score: 0.42532
To run the code:
mkdir data, output, res
python2 dataProcess.py
python2 model linr se
python2 model ar