Differences between revisions 2 and 14 (spanning 12 versions)
Revision 2 as of 2010-04-02 15:28:15
Size: 1552
Comment:
Revision 14 as of 2020-06-01 18:40:49
Size: 2724
Editor: kcrisman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
{{{ {{{#!sagecell
Line 13: Line 13:
vv = []; nn = 0 vv = []
nn = 0
Line 15: Line 16:
def foo(pts = checkbox(True, "Show points"),
        refresh = checkbox(False, "New random walk every time"),
        steps = (50,(10..500))):
def foo(pts=checkbox(True, "Show points"),
        refresh=checkbox(False, "New random walk every time"),
        steps=slider([10..500],default=50)):
Line 19: Line 20:
    # checking or unchecking the points checkbox doesn't change
    # the random walk. 
    # checking or unchecking the points checkbox does not change
    # the random walk.
Line 23: Line 24:
    if refresh or len(vv) == 0:
        s = 0; v = [(0,0)]
    if refresh or not vv:
        s = 0
       
v = [(0, 0)]
Line 31: Line 33:
        s = vv[-1][1]; j = len(vv)         s = vv[-1][1]
       
j = len(vv)
Line 34: Line 37:
            vv.append((i+j,s))             vv.append((i + j, s))
Line 39: Line 42:
    if pts: L += points(v, pointsize=10, rgbcolor='red')
    show(L, xmin=0, figsize=[8,3])
    if pts:
       
L += points(v, pointsize=10, rgbcolor='red')
    show(L, xmin=0, figsize=[8, 3])
Line 45: Line 49:
{{{ {{{#!sagecell
Line 47: Line 51:
def rwalk3d(n=(50,1000), frame=True):
    pnt = [0,0,0]
def rwalk3d(n=slider([50..1000]), frame=True):
    pnt = [0, 0, 0]
Line 51: Line 55:
        pnt[0] += random()-0.5
        pnt[1] += random()-0.5
        pnt[2] += random()-0.5
        pnt[0] += random() - 0.5
        pnt[1] += random() - 0.5
        pnt[2] += random() - 0.5
Line 55: Line 59:
    show(line3d(v,color='black'),aspect_ratio=[1,1,1],frame=frame)     show(line3d(v, color='black'), aspect_ratio=[1, 1, 1], frame=frame)
Line 58: Line 62:


== Hidden Markov Model: The Occasionally Dishonest Casino ==

by Marshall Hampton

Based on the classic example in "Biological Sequence Analysis" by Durbin et al.

{{{#!sagecell
m = hmm.DiscreteHiddenMarkovModel([[0.8,0.2],[0.1,0.9]], [[1/10,1/10,1/10,1/10,1/10,1/2],[1/6,1/6,1/6,1/6,1/6,1/6]], [.2,.8],emission_symbols=[1,2,3,4,5,6])
@interact
def dishonest_casino(auto_update=False):
    test = list(m.generate_sequence(80))
    vit_test = list(m.viterbi(test[0])[0])
    pretty_print(html('<h3>The Occasionally Dishonest Casino</h3>'))
    pretty_print(html('Emissions:'+str(test[0]).replace(',','').replace(' ','')[1:-1]))
    vit_str = str(vit_test).replace(',','').replace(' ','')
    vit_str = vit_str.replace('1','F').replace('0','<font color="#FF0000">L</font>')[1:-1]
    pretty_print(html('Viterbi: '+vit_str))
    actual_str = str(list(test[1])).replace(',','').replace(' ','')
    actual_str = actual_str.replace('1','F').replace('0','<font color="#FF0000">L</font>')[1:-1]
    pretty_print(html('Actual: '+ actual_str))
}}}
{{attachment:hmm_casino.png}}

Sage Interactions - Statistics and Probability

goto interact main page

A Random Walk

by William Stein

randomwalk.png

3D Random Walk

randomwalk3d.png

Hidden Markov Model: The Occasionally Dishonest Casino

by Marshall Hampton

Based on the classic example in "Biological Sequence Analysis" by Durbin et al.

hmm_casino.png

interact/stats (last edited 2020-06-01 18:40:49 by kcrisman)