Skip to content

Commit f984fc4

Browse files
committed
update local uncertainty notebook to explain adding in quadrature
1 parent 3392b89 commit f984fc4

1 file changed

Lines changed: 36 additions & 19 deletions

File tree

ipython/local_uncertainty.ipynb

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,29 @@
114114
"\n",
115115
"$$\\Delta G = \\frac{1}{\\sqrt{12}}(G_{max} - G_{min})$$\n",
116116
"\n",
117-
"Several parameters are used to formulate $\\Delta G$. These are $\\Delta G_\\mathrm{library}$, $\\Delta G_\\mathrm{QM}$, $\\Delta G_\\mathrm{GAV}$, and $\\Delta _\\mathrm{group}$.\n",
117+
"But first, to formulate $G$, we need to compile all the uncertainty sources. These are $ G_\\mathrm{library}$, $ G_\\mathrm{QM}$, $ G_\\mathrm{GAV}$, and $G _\\mathrm{group}$. We treat each as continuous random variable and add them to get the species uncertainty.\n",
118118
" \n",
119-
"$$\\Delta G = \\delta_\\mathrm{library} \\Delta G_\\mathrm{library} + \\delta_\\mathrm{QM} \\Delta G_\\mathrm{QM} + \\delta_\\mathrm{GAV} \\left( \\Delta G_\\mathrm{GAV} + \\sum_{\\mathrm{group}\\; j} d_{j} \\Delta G_{\\mathrm{group},j} \\right)$$\n",
119+
"$$G = \\delta_\\mathrm{library} G_\\mathrm{library} + \\delta_\\mathrm{QM} G_\\mathrm{QM} + \\delta_\\mathrm{GAV} \\left( G_\\mathrm{GAV} + \\sum_{\\mathrm{group}\\; j} d_{j} G_{\\mathrm{group},j} \\right)$$\n",
120+
"\n",
121+
"Here $\\delta$ is the Kronecker delta function which equals one if the species thermochemistry parameter contains the particular source type and $d_{j}$ is the degeneracy (number of appearances) of the thermo group used to construct the species thermochemistry in the group additivity method.\n",
122+
"\n",
123+
"To compute $\\Delta G$, we'll use the property that the variance of the sum of two random variables, $X$ and $Y$, is:\n",
124+
"$$Var(X+Y)=Var(X)+Var(Y)+2Cov(X,Y)$$\n",
125+
"\n",
126+
"If we assume that each uncertainty source is uncorrelated with the others, then the covariance term drops out:\n",
127+
"\n",
128+
"$$Var(X+Y)=Var(X)+Var(Y), \\ \\ \\ \\ \\ X \\neq Y$$\n",
129+
"\n",
130+
"And we can compute the variance of $G$:\n",
131+
"\n",
132+
"$$Var(G) = \\delta_\\mathrm{library} Var(G_\\mathrm{library}) + \\delta_\\mathrm{QM} Var(G_\\mathrm{QM})+\\delta_\\mathrm{GAV} \\left(Var(G_\\mathrm{GAV}) +\\sum_{group\\ j} d_j^2 Var(G_\\mathrm{group\\ j}) \\right)$$\n",
133+
"\n",
134+
"\n",
135+
"The standard deviation $\\Delta G$ is then the square root of that (this is an example of adding in quadrature):\n",
136+
"$$\\Delta(G) = \\sqrt{\\delta_\\mathrm{library} Var(G_\\mathrm{library}) + \\delta_\\mathrm{QM} Var(G_\\mathrm{QM})+\\delta_\\mathrm{GAV} \\left(Var(G_\\mathrm{GAV}) +\\sum_{group\\ j} d_j^2 Var(G_\\mathrm{group\\ j}) \\right)}$$\n",
137+
"\n",
138+
"\n",
120139
"\n",
121-
"where $\\delta$ is the Kronecker delta function which equals one if the species thermochemistry parameter contains the particular source type and $d_{j}$ is the degeneracy (number of appearances) of the thermo group used to construct the species thermochemistry in the group additivity method.\n",
122140
"\n",
123141
"### Kinetics Uncertainty\n",
124142
"\n",
@@ -130,13 +148,20 @@
130148
"\n",
131149
"$$\\Delta \\ln(k) = \\frac{1}{\\sqrt{12}}(\\ln k_{max} - \\ln k_{min})$$\n",
132150
"\n",
133-
"The parameters used to formulate $\\Delta \\ln k$ are $\\Delta \\ln k_\\mathrm{library}$, $\\Delta \\ln k_\\mathrm{training}$, $\\Delta \\ln k_\\mathrm{pdep}$, $\\Delta \\ln k_\\mathrm{family}$, $\\Delta \\ln k_\\mathrm{non-exact}$, and $\\Delta \\ln k_\\mathrm{rule}$.\n",
151+
"The sources used to formulate $ \\ln k$ are $ \\ln k_\\mathrm{library}$, $ \\ln k_\\mathrm{training}$, $ \\ln k_\\mathrm{pdep}$, $ \\ln k_\\mathrm{family}$, $ \\ln k_\\mathrm{non-exact}$, and $ \\ln k_\\mathrm{rule}$.\n",
152+
"\n",
153+
"For exact training data matches and library and pdep reactions, the kinetic uncertainty is assigned according to their uncertainty type. For kinetics estimated using RMG's decision trees, the following formula is used to calculate the uncertainty:\n",
134154
"\n",
135-
"For library, training, and pdep reactions, the kinetic uncertainty is assigned according to their uncertainty type. For kinetics estimated using RMG's rate rules, the following formula is used to calculate the uncertainty:\n",
155+
"$$ \\ln k_\\mathrm{rate\\; rules} = \\ln k_\\mathrm{family} + \\log_{10}(N+1) \\left(\\ln k_\\mathrm{non-exact}\\right) + \\sum_{\\mathrm{rule}\\; i} w_i \\ln k_{\\mathrm{rule},i}$$\n",
136156
"\n",
137-
"$$\\Delta \\ln k_\\mathrm{rate\\; rules} = \\Delta\\ln k_\\mathrm{family} + \\log_{10}(N+1) \\left(\\Delta\\ln k_\\mathrm{non-exact}\\right) + \\sum_{\\mathrm{rule}\\; i} w_i \\Delta \\ln k_{\\mathrm{rule},i}$$\n",
157+
"where N is the total number of rate rules or training reactions used and $w_{i}$ is the weight of the rate rule or training reaction in the averaging scheme for that kinetics estimate.\n",
138158
"\n",
139-
"where N is the total number of rate rules used and $w_{i}$ is the weight of the rate rule in the averaging scheme for that kinetics estimate. "
159+
"Once again we use the property of adding variances with the assumption that sources are uncorrelated to each other. The standard deviation then adds in quadrature.\n",
160+
"\n",
161+
"$$\\Delta\\ln k_\\mathrm{rate\\; rules} = \\sqrt{(\\Delta \\ln k_\\mathrm{family})^2 + \\left(\\log_{10}(N+1) \\right)^2\\left(\\Delta \\ln k_\\mathrm{non-exact}\\right)^2 + \\sum_{\\mathrm{rule}\\; i} w_i^2 (\\Delta \\ln k_{\\mathrm{rule},i})^2}$$\n",
162+
"\n",
163+
"\n",
164+
"\n"
140165
]
141166
},
142167
{
@@ -178,9 +203,7 @@
178203
{
179204
"cell_type": "code",
180205
"execution_count": null,
181-
"metadata": {
182-
"scrolled": true
183-
},
206+
"metadata": {},
184207
"outputs": [],
185208
"source": [
186209
"result = uncertainty.local_analysis(sensitive_species, correlated=False, number=5, fileformat='.png')\n",
@@ -190,9 +213,7 @@
190213
{
191214
"cell_type": "code",
192215
"execution_count": null,
193-
"metadata": {
194-
"scrolled": true
195-
},
216+
"metadata": {},
196217
"outputs": [],
197218
"source": [
198219
"# Show the uncertainty plots\n",
@@ -230,9 +251,7 @@
230251
{
231252
"cell_type": "code",
232253
"execution_count": null,
233-
"metadata": {
234-
"scrolled": true
235-
},
254+
"metadata": {},
236255
"outputs": [],
237256
"source": [
238257
"uncertainty.assign_parameter_uncertainties(correlated=True)\n",
@@ -243,9 +262,7 @@
243262
{
244263
"cell_type": "code",
245264
"execution_count": null,
246-
"metadata": {
247-
"scrolled": true
248-
},
265+
"metadata": {},
249266
"outputs": [],
250267
"source": [
251268
"# Show the uncertainty plots\n",

0 commit comments

Comments
 (0)