Machine Learning Kurs im Rahmen der Studierendentage im SS 2023
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

338 lines
87 KiB

2 years ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "Fit 3rd order Polynomial to graph data using numpy"
  8. ]
  9. },
  10. {
  11. "cell_type": "code",
  12. "execution_count": 1,
  13. "metadata": {},
  14. "outputs": [],
  15. "source": [
  16. "from matplotlib import pyplot as plt\n",
  17. "plt.rcParams[\"font.size\"] = 20\n",
  18. "import numpy as np"
  19. ]
  20. },
  21. {
  22. "cell_type": "markdown",
  23. "metadata": {},
  24. "source": [
  25. "data"
  26. ]
  27. },
  28. {
  29. "cell_type": "code",
  30. "execution_count": 2,
  31. "metadata": {},
  32. "outputs": [],
  33. "source": [
  34. "x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype='d')\n",
  35. "dx = np.array([0.1,0.1,0.5,0.1,0.5,0.1,0.5,0.1,0.5,0.1], dtype='d')\n",
  36. "y = np.array([1.1 ,2.3 ,2.7 ,3.2 ,3.1 ,2.4 ,1.7 ,1.5 ,1.5 ,1.7 ], dtype='d')\n",
  37. "dy = np.array([0.15,0.22,0.29,0.39,0.31,0.21,0.13,0.15,0.19,0.13], dtype='d')"
  38. ]
  39. },
  40. {
  41. "cell_type": "markdown",
  42. "metadata": {},
  43. "source": [
  44. "create numpy array with weights as 1/error "
  45. ]
  46. },
  47. {
  48. "cell_type": "code",
  49. "execution_count": 3,
  50. "metadata": {},
  51. "outputs": [],
  52. "source": [
  53. "ones = np.ones(10, dtype='d')\n",
  54. "weight = ones/dy"
  55. ]
  56. },
  57. {
  58. "cell_type": "markdown",
  59. "metadata": {},
  60. "source": [
  61. "various fit options"
  62. ]
  63. },
  64. {
  65. "cell_type": "code",
  66. "execution_count": 4,
  67. "metadata": {},
  68. "outputs": [],
  69. "source": [
  70. "n = 3 \n",
  71. "#model = np.polyfit(x, y, n, 0 , 0, weight, cov='unscaled' )\n",
  72. "#model, fitCov = np.polyfit(x, y, n , 0 , 0, weight, cov='unscaled' )\n",
  73. "model, fitCov = np.polyfit(x, y, n , 0 , 0, weight, cov='unscaled' )\n"
  74. ]
  75. },
  76. {
  77. "cell_type": "markdown",
  78. "metadata": {},
  79. "source": [
  80. "monitor printout of coefficient polynomial vector (model) and covariance matrix (fitCov)"
  81. ]
  82. },
  83. {
  84. "cell_type": "code",
  85. "execution_count": 5,
  86. "metadata": {},
  87. "outputs": [
  88. {
  89. "name": "stdout",
  90. "output_type": "stream",
  91. "text": [
  92. "[ 0.02590585 -0.48405665 2.52045767 -0.98073638]\n",
  93. "[[ 1.19801683e-05 -2.07833174e-04 9.95675425e-04 -9.97263377e-04]\n",
  94. " [-2.07833174e-04 3.65835615e-03 -1.78482005e-02 1.83096634e-02]\n",
  95. " [ 9.95675425e-04 -1.78482005e-02 8.93452262e-02 -9.59887600e-02]\n",
  96. " [-9.97263377e-04 1.83096634e-02 -9.59887600e-02 1.19001618e-01]]\n"
  97. ]
  98. }
  99. ],
  100. "source": [
  101. "print (model)\n",
  102. "print (fitCov)"
  103. ]
  104. },
  105. {
  106. "cell_type": "markdown",
  107. "metadata": {},
  108. "source": [
  109. "prepare errors for plotting, see\n",
  110. "https://stackoverflow.com/questions/28505008/numpy-polyfit-how-to-get-1-sigma-uncertainty-around-the-estimated-curve/28528966\n",
  111. "write polynomial as np.dot(yy, model) with yy=[x**n, x*n-1, ..., 1] and x can be a single value or \n",
  112. "or a vector and model as coefficient vector. Since this a linear equation, with the covariance matrix\n",
  113. "fitCov of model, the covariance matrix of the values is np.dot(yy, np.dot(model, yy.T))."
  114. ]
  115. },
  116. {
  117. "cell_type": "markdown",
  118. "metadata": {},
  119. "source": [
  120. "Do the interpolation for plotting"
  121. ]
  122. },
  123. {
  124. "cell_type": "code",
  125. "execution_count": 6,
  126. "metadata": {},
  127. "outputs": [],
  128. "source": [
  129. "x_plot = np.linspace(0.1, 10.5, 500)"
  130. ]
  131. },
  132. {
  133. "cell_type": "markdown",
  134. "metadata": {},
  135. "source": [
  136. "Matrix with rows 1, x, x**2, ..."
  137. ]
  138. },
  139. {
  140. "cell_type": "code",
  141. "execution_count": 7,
  142. "metadata": {},
  143. "outputs": [],
  144. "source": [
  145. "YY = np.vstack([x_plot**(n-i) for i in range(n+1)]).T"
  146. ]
  147. },
  148. {
  149. "cell_type": "markdown",
  150. "metadata": {},
  151. "source": [
  152. "matrix multiplication calculates the polynomial values"
  153. ]
  154. },
  155. {
  156. "cell_type": "code",
  157. "execution_count": 8,
  158. "metadata": {},
  159. "outputs": [],
  160. "source": [
  161. "y_plot = np.dot(YY, model)"
  162. ]
  163. },
  164. {
  165. "cell_type": "markdown",
  166. "metadata": {},
  167. "source": [
  168. "Covariance_y = YY*Covariance*YY.T"
  169. ]
  170. },
  171. {
  172. "cell_type": "code",
  173. "execution_count": 9,
  174. "metadata": {},
  175. "outputs": [],
  176. "source": [
  177. "fitCov_y_plot = np.dot(YY, np.dot(fitCov, YY.T))\n",
  178. "Sigma_y_plot = np.sqrt(np.diag(fitCov_y_plot))"
  179. ]
  180. },
  181. {
  182. "cell_type": "markdown",
  183. "metadata": {},
  184. "source": [
  185. "model contains parameters in order highest power first! Define fit function "
  186. ]
  187. },
  188. {
  189. "cell_type": "code",
  190. "execution_count": 10,
  191. "metadata": {},
  192. "outputs": [],
  193. "source": [
  194. "def fitpol3(model):\n",
  195. " return model[3] + model[2]*x + model[1]*x**2 + model[0]*x**3"
  196. ]
  197. },
  198. {
  199. "cell_type": "markdown",
  200. "metadata": {},
  201. "source": [
  202. "construct polynomial from coefficients in model"
  203. ]
  204. },
  205. {
  206. "cell_type": "code",
  207. "execution_count": 11,
  208. "metadata": {},
  209. "outputs": [],
  210. "source": [
  211. "predict = np.poly1d(model)"
  212. ]
  213. },
  214. {
  215. "cell_type": "markdown",
  216. "metadata": {},
  217. "source": [
  218. "r_2 coefficient of the determination of the regression score function\n",
  219. "input are the y data values and the prediction from the fit with x data values \n",
  220. "this is borrowed from scikit-learn"
  221. ]
  222. },
  223. {
  224. "cell_type": "code",
  225. "execution_count": 12,
  226. "metadata": {},
  227. "outputs": [
  228. {
  229. "name": "stdout",
  230. "output_type": "stream",
  231. "text": [
  232. "0.9486643210376879\n"
  233. ]
  234. }
  235. ],
  236. "source": [
  237. "from sklearn.metrics import r2_score\n",
  238. "p = r2_score(y, predict(x))\n",
  239. "print (p)"
  240. ]
  241. },
  242. {
  243. "cell_type": "markdown",
  244. "metadata": {},
  245. "source": [
  246. "plot data"
  247. ]
  248. },
  249. {
  250. "cell_type": "code",
  251. "execution_count": 13,
  252. "metadata": {},
  253. "outputs": [
  254. {
  255. "data": {
  256. "image/png": "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
  257. "text/plain": [
  258. "<Figure size 640x480 with 1 Axes>"
  259. ]
  260. },
  261. "metadata": {},
  262. "output_type": "display_data"
  263. }
  264. ],
  265. "source": [
  266. "plt.figure()\n",
  267. "plt.errorbar(x, y, dy , dx, fmt=\"o\")\n",
  268. "plt.plot(x, fitpol3(model) )\n",
  269. "plt.title(\"numpy Fit Test\")\n",
  270. "plt.xlim(-0.1, 10.1)\n",
  271. "plt.show()"
  272. ]
  273. },
  274. {
  275. "cell_type": "markdown",
  276. "metadata": {},
  277. "source": [
  278. "plot data with covariance"
  279. ]
  280. },
  281. {
  282. "cell_type": "code",
  283. "execution_count": 14,
  284. "metadata": {},
  285. "outputs": [
  286. {
  287. "data": {
  288. "image/png": "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
  289. "text/plain": [
  290. "<Figure size 640x480 with 1 Axes>"
  291. ]
  292. },
  293. "metadata": {},
  294. "output_type": "display_data"
  295. }
  296. ],
  297. "source": [
  298. "fg, ax = plt.subplots(1, 1)\n",
  299. "ax.set_title(\"numpy Fit Test with $\\pm1\\sigma$ interval\")\n",
  300. "ax.fill_between(x_plot, y_plot+Sigma_y_plot, y_plot-Sigma_y_plot, alpha=.25)\n",
  301. "ax.plot(x_plot, y_plot,'-')\n",
  302. "ax.errorbar(x, y,dy , dx, fmt='o')\n",
  303. "ax.axis('tight')\n",
  304. "\n",
  305. "fg.canvas.draw()\n",
  306. "plt.show()"
  307. ]
  308. },
  309. {
  310. "cell_type": "code",
  311. "execution_count": null,
  312. "metadata": {},
  313. "outputs": [],
  314. "source": []
  315. }
  316. ],
  317. "metadata": {
  318. "kernelspec": {
  319. "display_name": "Python 3 (ipykernel)",
  320. "language": "python",
  321. "name": "python3"
  322. },
  323. "language_info": {
  324. "codemirror_mode": {
  325. "name": "ipython",
  326. "version": 3
  327. },
  328. "file_extension": ".py",
  329. "mimetype": "text/x-python",
  330. "name": "python",
  331. "nbconvert_exporter": "python",
  332. "pygments_lexer": "ipython3",
  333. "version": "3.8.16"
  334. }
  335. },
  336. "nbformat": 4,
  337. "nbformat_minor": 4
  338. }