рдпрд╣ рдкреЛрд╕реНрдЯ рдмрд╛рдпреЗрд╕рд┐рдпрди рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдореЗрд░реА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдХреА рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИ, рдЬреЛ
рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
рдореИрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдмреЗрдпрд╕рд┐рдпрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдг
рдЬреЗрдПрдЬреАрдПрд╕ рдФрд░ / рдпрд╛
рдмреАрдпреВрдЬреАрдПрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде
рдЖрд░ рднрд╛рд╖рд╛ рд╣реИред рдФрд╕рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЕрдВрддрд░ JAGS рдХреА рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рдХреГрддрд┐ рд╣реИ (рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЙрдмрдВрдЯреВ рдФрд░ BUGS рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╣реИ), рдФрд░ рдпрд╣ рднреА рдХрд┐ рдЖрдк JAGS рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рддрд░рдгреЛрдВ рдХреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдФрд╕рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдЕрдХреНрд╕рд░), рдЕрдЧрд░ рд╕рдм рдкрд░)ред рд╡реИрд╕реЗ, R рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ IDE рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
RStudio ред
рд▓реЗрдХрд┐рди рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ
pymc рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде R - Python рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд▓рд┐рдЦреВрдВрдЧрд╛ ред
рдореИрдВ
рд╕реНрдкрд╛рдЗрдбрд░ рдХреЛ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрдИрдбреАрдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВ рдкрд╛рдпрдерди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рднреА рд╡реНрдпрд╛рдкрдХ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╕реАрдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдмрд╕ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЧрд┐рдирдиреЗ рдХреЗ рд▓рд┐рдПред рджреВрд╕рд░реА рдмрд╛рдд, рдкрд╛рдпрдерди рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде, рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рд╛рджрдЧреА, рд╕рдордЭрджрд╛рд░реА рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдореЗрдВ R рд╕реЗ рдиреАрдЪ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдбреЗрдЯрд╛ рдХреА рд░реИрдЦрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЧреБрдгрд╛рдВрдХ рдЦреЛрдЬрдиреЗ рдХреА рд╕рд░рд▓ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рдЬреНрдЮрд╛рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдХреВрд▓рди рдХреА рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рдЖрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЦреБрд▓рд╛рд╕рд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдмрд╛рдпреЗрд╕рд┐рдпрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдФрд░ рд╕рдмрд╕реЗ рдХрдо рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ
рдкрд╛рдпрдерди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рдкрд╛рдпрдерди 3.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди 2.7 рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд░ рдЖрдкрдХреЛ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рд╕реБрдиреНрди ,
Matplotlib ред
рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕реНрдХреИрдкреА ,
рдкрд╛рдИрдЯреЗрдмрд▓реНрд╕ ,
рдкреАрдбреЙрдЯ ,
рдЖрдИрдкреАрдереЙрди рдФрд░
рдирд╛рдХ ред
рдЗрди рд╕рднреА рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ (рдкрд╛рдпрдерди рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЛ
рд╕реЗрдЯрдкреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЕрдм рдЖрдк
рд╕реНрд╡рдпрдВ pymc рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕реЗ рд╕реЗрдЯрдкреНрдЯреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдПрдХ рд╡рд┐рд╕реНрддреГрдд pymc рдЧрд╛рдЗрдб
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдХрд╛рд░реНрдп рд╡рд┐рд╡рд░рдг
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдкреНрд░рдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╣реИ, рдЬреЛ x рдХреЗ рдХреБрдЫ рдорд╛рди рдкрд░ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рд╢реЛрд░ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдлреИрд▓рд╛рд╡ рдЕрдЬреНрдЮрд╛рдд рд╣реИред рд░реИрдЦрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЧреБрдгрд╛рдВрдХ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдирд┐рд░реНрдгрдп
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
import numpy import pymc
рдлрд┐рд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд▓реНрдкрдирд┐рдХ рд░реИрдЦрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рддрдиреЗ рдЕрдВрдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 20), рд╡реЗ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрдВрддрд░рд╛рд▓ [0, 10] рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рд░реИрдЦрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреБрдгрд╛рдВрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдЧреЙрд╕рд┐рдпрди рдбреЗрдЯрд╛ рдкрд░ рд╢реЛрд░ рдереЛрдкрддреЗ рд╣реИрдВ:
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдВрдХрдбрд╝реЗ рд╣реИрдВ, рдФрд░ рдЕрдм рд╣рдореЗрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ (рдпрд╛ рдорд╛рди рд▓реЗрдВ) рдХрд┐ рд╣рдорд╛рд░рд╛ рд╢реЛрд░ рдЧрд╛рдКрд╕реА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдорд╛рд░реЛрд╣ рдЧрд╛рдКрд╕реА рд╣реЛрдЧрд╛ред рдЙрд╕рдХреЗ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ: рдФрд╕рдд рдФрд░ рд╡рд┐рдЪрд░рдгред рдЪреВрдВрдХрд┐ рдФрд╕рдд рд╢реЛрд░ рд╢реВрдиреНрдп рд╣реИ, рд╕рдВрднрд╛рд╡рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдореЙрдбрд▓ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд░реИрдЦрд┐рдХ рдореЙрдбрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ)ред рдЬрдмрдХрд┐ рд╡рд┐рдЪрд░рдг рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрдЧрд╛ред
рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдПрдХ рдЧрд╛рдКрд╕реА рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдорд╛рд░реЛрд╣ рд╣реИред
рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдордирдорд╛рдиреА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрди рд╕реАрдорд╛рдУрдВ рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рджреВрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд┐рддрд░рдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдЙрд╕ рд▓реЗрдмрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ (рдкрд╣рд▓реЗ рддрд░реНрдХ) рдХреЗ рдкреАрдЫреЗ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ, рдФрд░ рд╡рд┐рддрд░рдг рдХреА рд╕реАрдорд╛рдУрдВ (рджреВрд╕рд░реА рдФрд░ рддреАрд╕рд░реА рдмрд╣рд╕) рдХрд╛ рднреА рд╕рдВрдХреЗрдд рджреЗрдВрдЧреЗред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рддрд░реНрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
sigma = pymc.Uniform('sigma', 0., 100.) a = pymc.Uniform('a', 0., 20.) b = pymc.Uniform('b', 0., 20.)
рдЕрдм рд╣рдореЗрдВ рдЕрдкрдирд╛ рдореЙрдбрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Pymc рдореЗрдВ рджреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рд╣реИрдВ: рдирд┐рдпрддрд╛рддреНрдордХ рдФрд░ рд╕реНрдЯреЛрдЪреИрд╕реНрдЯрд┐рдХред рдпрджрд┐, рджрд┐рдП рдЧрдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдореВрд▓реНрдп (рдУрдВ) рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗ, рддреЛ рдпрд╣ рдПрдХ рдирд┐рд░реНрдзрд╛рд░рдХ рдореЙрдбрд▓ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рд░реИрдЦрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЧреБрдгрд╛рдВрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреНрд░рдорд╢рдГ рдкрд░рд┐рдгрд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдирд┐рд░реНрдзрд╛рд░рдХ рдореЙрдбрд▓ рд╣реИ:
@pymc.deterministic(plot=False) def linear_fit(a=a, b=b, x=x): return a*x + b
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕рдВрднрд╛рд╡рдирд╛ рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдФрд╕рдд рдореЙрдбрд▓ рдХрд╛ рдореВрд▓реНрдп рд╣реИ, рд╕рд┐рдЧреНрдорд╛ рдПрдХ рджрд┐рдП рдЧрдП рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рд╣рдорд╛рд░рд╛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╣реИ:
y = pymc.Normal('y', mu=linear_fit, tau=1.0/sigma**2, value=data, observed=True)
рддреЛ, рд╕рдВрдкреВрд░реНрдг рдореЙрдбрд▓-рдереНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
import numpy import pymc
рдЕрдм рдореИрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ pymc рдЖрдЦрд┐рд░ рдХрд░рддрд╛ рдХреНрдпрд╛ рд╣реИред
рдЧрдгрд┐рдд рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдкреА (рдП, рдмреА, рд╕рд┐рдЧреНрдорд╛ | рдбреЗрдЯрд╛) = рдкреА (рдбреЗрдЯрд╛ | рдП, рдмреА, рд╕рд┐рдЧреНрдорд╛) * рдкреА (рдП, рдмреА, рд╕рд┐рдЧреНрдорд╛) / рдкреА (рдбреЗрдЯрд╛)
рдХреНрдпреЛрдВрдХрд┐ рдП, рдмреА рдФрд░ рд╕рд┐рдЧреНрдорд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рд╕рдореАрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
p (a, b, sigma | Data) = p (Data | a, b, sigma) * p (a) * p (b) * p (sigma) / p (Data)
рдХрд╛рдЧрдЬ рдкрд░, рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдЗрд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде), рддреЛ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВред
рдкреА (рдбреЗрдЯрд╛), рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реА рдкрд┐рдЫрд▓реА
рдкреЛрд╕реНрдЯ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА, рдПрдХ рдирд┐рд░рдВрддрд░ред
p (рдбреЗрдЯрд╛ | a, b, sigma) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ a, b рдФрд░ sigma рдХреЗ рд╕рд╛рде рдЬреНрдЮрд╛рдд рд╣реИ, рд╣рдо рд╣рдорд╛рд░реЗ рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
рд▓реЗрдХрд┐рди рдкреА (рдП), рдкреА (рдмреА) рдФрд░ рдкреА (рд╕рд┐рдЧреНрдорд╛) рдХреЗ рдмрдЬрд╛рдп, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рдиреВрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдЫрджреНрдо рдЖрдпрд╛рдореА рдЪрд░ рдХреЗ рдЬрдирд░реЗрдЯрд░ рд╣реИрдВред
рдХреИрд╕реЗ рдЗрд╕ рд╕рдм рд╕реЗ рдПрдХ рдкреАрдЫреЗ рд╡рд┐рддрд░рдг рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП? рдпрд╣ рд╕рд╣реА рд╣реИ, рдЬрдирд░реЗрдЯ (рдЪрдпрди рдХрд░реЗрдВ) a, b рдФрд░ рд╕рд┐рдЧреНрдорд╛, рдФрд░ рдлрд┐рд░ p (рдбреЗрдЯрд╛ | a, b, sigma) рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдкрд╢реНрдЪ рд╡рд┐рддрд░рдг рд╕реЗ рдПрдХ рдирдореВрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдЪрдпрди рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдмрд╛рдж рдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рдХрдИ рдореЛрдб ("рд╣рд┐рд▓реНрд╕") рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдореЛрдб рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдирдореВрдирд╛ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдПрдХ рдЪрдпрди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рддрд░рдг рдХреЛ "рдХрд╡рд░" рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ
MCMC (рдорд╛рд░реНрдХреЛрд╡ рдЪреЗрди рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ) рд╣реИред
рдорд╛рд░реНрдХреЛрд╡ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд┐рдЫрд▓реЗ рдПрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдПрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╕реНрд╡рдпрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдкреЛрд╕реНрдЯ рдХрд╛ рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдиреЛрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ pymc рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдорд╛рд░реНрдХреЛрд╡ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдкрд╢реНрдЪ рд╡рд┐рддрд░рдг рд╕реЗ рдПрдХ рдирдореВрдирд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпрджрд┐ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдорд╛рд░реНрдХреЛрд╡ рд╣реЛ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ "рдкрддрд▓рд╛" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░ рджреВрд╕рд░реЗ рддрддреНрд╡ рдХреЛ рд▓реЗрдВред
рддреЛ, рд╣рдо рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЪрд▓рд┐рдП рдЗрд╕реЗ рд░рди_рдореЙрдбрд▓ рдПрд░реЛрдХреЛрдо рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдорд╛рд░реНрдХреЛрд╡ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗред Model.py рдФрд░ run_model.py рдлрд╛рдЗрд▓реЗрдВ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ run_model.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
from sys import path path.append("/////model.py/")
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ:
from numpy import polyfit from matplotlib.pyplot import figure, plot, show, legend import pymc import model
рдкреЙрд▓реАрдлрд╝рд┐рдЯ рдХрдо рд╕реЗ рдХрдо рд╡рд░реНрдЧреЛрдВ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдо рдмрд╛рдпреЗрд╕рд┐рдпрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдВрддрд┐рдо рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдХреГрддрд┐, рдХрдерд╛рдирдХ, рд╢реЛ, рдХрд┐рдВрд╡рджрдВрддреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдореЙрдбрд▓ рд╣реИред
рдлрд┐рд░ рд╣рдо MCMC рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЪрдпрди рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
D = pymc.MCMC(model, db = 'pickle') D.sample(iter = 10000, burn = 1000)
D. рдирдореВрдирд╛ рджреЛ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдЕрдзрд┐рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) - рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдФрд░ рдмрд░реНрди-рдЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ (рдЗрд╕реЗ "рд╡рд╛рд░реНрдо-рдЕрдк рдЕрд╡рдзрд┐" рдХрд╣рддреЗ рд╣реИрдВ)ред рд╡рд╛рд░реНрдо-рдЕрдк рдЕрд╡рдзрд┐ рдкрд╣рд▓реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдХреНрд▓рд┐рдк рдХреА рдЬрд╛рддреА рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдорд╕реАрдПрдорд╕реА рдкрд╣рд▓реЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдПрдХ рдРрд╕реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ), рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЗрд╕ рдЕрд╡рдзрд┐ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рд╣рдорд╛рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирдореВрдирд╛ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдзрд┐рдпрд╛рдВ (рдлрд╝рдВрдХреНрд╢рди) рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рдирдореВрдиреЗ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ (рдФрд╕рдд, рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп, рд╡рд┐рдЪрд░рдг, рдЖрджрд┐) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдмрд╕реЗ рдХрдо рд╡рд░реНрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ:
chisq_result = polyfit(model.x, model.data, 1)
рдЕрдм рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ:
print "\n\nResult of chi-square result: a= %f, b= %f" % (chisq_result[0], chisq_result[1]) print "\nResult of Bayesian analysis: a= %f, b= %f" % (Davalue, Dbvalue) print "\nThe real coefficients are: a= %f, b= %f\n" %(model.true_coefficients[0], model.true_coefficients[1])
рд╣рдо pymc рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ:
pymc.Matplot.plot(D)
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдкрдирд╛ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ:
figure() plot(model.x, model.data, marker='+', linestyle='') plot(model.x, Davalue * model.x + Dbvalue, color='g', label='Bayes') plot(model.x, chisq_result[0] * model.x + chisq_result[1], color='r', label='Chi-squared') plot(model.x, model.true_coefficients[0] * model.x + model.true_coefficients[1], color='k', label='Data') legend() show()
рдпрд╣рд╛рдБ run_model.py рдлрд╝рд╛рдЗрд▓ рдХреА рдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рд╣реИ:
from numpy import polyfit from matplotlib.pyplot import figure, plot, show, legend import pymc import model
рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрддрд░ рджреЗрдЦрддреЗ рд╣реИрдВ:
рдЪреА-рд╕реНрдХреНрд╡рд╛рдпрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо: a = 10.321533, b = 6.307100
рдмрд╛рдпреЗрд╕рд┐рдпрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо: a = 10.366272, b = 6.068982
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреБрдгрд╛рдВрдХ рд╣реИрдВ: a = 10.400000, b = 5.500000
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЪреВрдВрдХрд┐ рд╣рдо рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдирд┐рдкрдЯ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬреЛ рдореВрд▓реНрдп рдЖрдк рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд░ рджреЗрдЦреЗрдВрдЧреЗ, рд╡реЗ рдКрдкрд░ (рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдлрд╝рд╛рдЗрд▓ run_model.py рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦреЗрдВрдЧреЗред
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ:

рдкреИрд░рд╛рдореАрдЯрд░ рдмреА рдХреЗ рд▓рд┐рдП:

рд╕рд┐рдЧреНрдорд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП:

рджрд╛рдИрдВ рдУрд░ рд╣рдо рдкреАрдЫреЗ рдХреЗ рд╡рд┐рддрд░рдг рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдИрдВ рдУрд░ рджреЛ рдЪрд┐рддреНрд░ рдорд╛рд░реНрдХреЛрд╡ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╣реИрдВред
рдореИрдВ рдЕрдм рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рдЪрд▓рд╛ рдЧреНрд░рд╛рдл рдЖрдЯреЛрдХреНрд▓реЗрд░рд░реЗрд╢рди рдЧреНрд░рд╛рдл рд╣реИ (рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ )ред рдпрд╣ MCMC рдХреЗ рдЕрднрд┐рд╕рд░рдг рдХрд╛ рдПрдХ рд╡рд┐рдЪрд╛рд░ рджреЗрддрд╛ рд╣реИред
рдФрд░ рдКрдкрд░реА рдЧреНрд░рд╛рдл рдирдореВрдирд╛ рдЯреНрд░реЗрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдирдореВрдирд╛ рдХреИрд╕реЗ рд╣реБрдЖред рдЗрд╕ рдЯреНрд░реЗрд╕ рдХрд╛ рдФрд╕рдд рдирдореВрдирд╛ рдХрд╛ рдФрд╕рдд рд╣реИ (рджрд╛рдИрдВ рдУрд░ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЧреНрд░рд╛рдл рдореЗрдВ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдХреНрд╖ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ)ред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдлрд┐рд░ рднреА рдкреАрдбреЙрдЯ рдореЙрдбреНрдпреВрд▓ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрди рдХреЛ run_model.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ:
pymc.graph.dag(D).write_png('dag.png')
рдлрд┐рд░ рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ run_model.py рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдирд┐рдореНрди рдЫрд╡рд┐ рдмрдирд╛рдПрдЧрд╛:

рдпрд╣ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реАрдзрд╛ рдЪрдХреНрд░реАрдп рдЧреНрд░рд╛рдл рд╣реИред рд╕рдлреЗрдж рджреАрд░реНрдШрд╡реГрддреНрдд рд╕реНрдЯреЛрдХреЗрд╕реНрдЯрд┐рдХ рдиреЛрдбреНрд╕ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ (рдпреЗ рдПрдХ, рдмреА рдФрд░ рд╕рд┐рдЧреНрдорд╛ рд╣реИрдВ), рддреНрд░рд┐рдХреЛрдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдиреЛрдбреНрд╕ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдЕрдВрдзреЗрд░реЗ рджреАрд░реНрдШрд╡реГрддреНрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рдЫрджреНрдо рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдпрд╣реА рд╣реИ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ a рдФрд░ b рдХрд╛ рдорд╛рди рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ (рд░реИрдЦрд┐рдХ_рдлрд┐рдЯ) рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдпрдВ рдПрдХ рдирд┐рдпрддрд╛рддреНрдордХ рдиреЛрдб рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдВрднрд╛рд╡рдирд╛ рдлрд╝рдВрдХреНрд╢рди y рджрд░реНрдЬ рдХрд░реЗрдВред рд╕рд┐рдЧреНрдорд╛ рдкрд╣рд▓реЗ рдПрдХ рд╕реНрдЯреЛрдХреЗрд╕реНрдЯрд┐рдХ рдиреЛрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╕рдВрднрд╛рд╡рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд┐рдЧреНрдорд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рдК = 1 / рд╕рд┐рдЧреНрдорд╛ ^ 2, рд╕реНрдЯреЛрдЪреИрд╕реНрдЯрд┐рдХ рдореВрд▓реНрдп рд╕рд┐рдЧреНрдорд╛ рдкрд╣рд▓реЗ рдЪреБрдХрддрд╛ (рджрд╛рд╣рд┐рдиреА рдУрд░ рдКрдкрд░реА рддреНрд░рд┐рдХреЛрдг), рдФрд░ рдлрд┐рд░ рддрд╛рдК рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрд╛рдК рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЙрддреНрдкрдиреНрди рдбреЗрдЯрд╛ рднреАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧреНрд░рд╛рдл рдореЙрдбрд▓ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдФрд░ рдЖрддреНрдо-рдЬрд╛рдБрдЪ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред
рдореЙрдбрд▓ред