Skip to content

Commit 6aa5473

Browse files
committed
added adaptive regression class to Regression.ipynb
1 parent a6ba9c8 commit 6aa5473

File tree

1 file changed

+61
-3
lines changed

1 file changed

+61
-3
lines changed

Adaptive_Forgetting.ipynb

+61-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"metadata": {
33
"name": "",
4-
"signature": "sha256:15285a4ec96b5a10a4d2d8ee28ecf448fc26df64db0ad746a940d07dcba0ca0c"
4+
"signature": "sha256:c407f89dfdaf24df72d6aceda97d9e0414d29da5f60f356c7f33bb3057fb466d"
55
},
66
"nbformat": 3,
77
"nbformat_minor": 0,
@@ -282,11 +282,69 @@
282282
{
283283
"cell_type": "code",
284284
"collapsed": false,
285-
"input": [],
285+
"input": [
286+
"class AdaptiveRegression(object):\n",
287+
" def __init__(self,x0,y0):\n",
288+
" self.x0,self.y0 = x0,y0\n",
289+
" self.p0, self.cov0 = polyfit(x0,y0,1,cov=True)\n",
290+
" errs = y0-polyval(self.p0,x0)\n",
291+
" self.rvs = stats.norm(mean(errs),std(errs))\n",
292+
" def predict(self,i):\n",
293+
" return polyval(self.p0,i)\n",
294+
" def likelihood(self,x,y):\n",
295+
" return self.rvs.pdf(y-self.predict(x))\n",
296+
" def update(self,x,y):\n",
297+
" self.x0,self.y0 = hstack([ x0,[x] ]),hstack([ y0,[y] ])\n",
298+
" self.p0, self.cov0 = polyfit(x0,y0,1,cov=True)\n",
299+
" errs = self.y0-polyval(self.p0,self.x0)\n",
300+
" self.rvs = stats.norm(mean(errs),std(errs))\n",
301+
" def plot(self,ax,**kwds):\n",
302+
" ax.plot(self.x0,self.y0,marker='o',ls='none',alpha=.5,**kwds)\n",
303+
" def add_cone(self,ax,alpha=0.95):\n",
304+
" p_ = self.p0\n",
305+
" cov_ = self.cov0\n",
306+
" x = self.x0\n",
307+
" erra_=stats.norm(p_[0],sqrt(cov_[0,0])).interval(alpha)\n",
308+
" errb_=stats.norm(p_[1],sqrt(cov_[1,1])).interval(alpha)\n",
309+
" ax.fill_between(x,polyval([erra_[0],errb_[0]],x),\n",
310+
" polyval([erra_[1],errb_[1]],x),\n",
311+
" color='gray',alpha=.3)\n"
312+
],
286313
"language": "python",
287314
"metadata": {},
288315
"outputs": [],
289-
"prompt_number": 7
316+
"prompt_number": 40
317+
},
318+
{
319+
"cell_type": "code",
320+
"collapsed": false,
321+
"input": [
322+
"fig,ax= subplots()\n",
323+
"ar=AdaptiveRegression(x0,y0)\n",
324+
"ar.plot(ax,color='r')\n",
325+
"ar.add_cone(ax)"
326+
],
327+
"language": "python",
328+
"metadata": {},
329+
"outputs": [
330+
{
331+
"metadata": {},
332+
"output_type": "display_data",
333+
"png": "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\nyAAAAABJRU5ErkJggg==\n",
334+
"text": [
335+
"<matplotlib.figure.Figure at 0xcdb49f0>"
336+
]
337+
}
338+
],
339+
"prompt_number": 42
340+
},
341+
{
342+
"cell_type": "code",
343+
"collapsed": false,
344+
"input": [],
345+
"language": "python",
346+
"metadata": {},
347+
"outputs": []
290348
}
291349
],
292350
"metadata": {}

0 commit comments

Comments
 (0)