├── .gitignore ├── 05_ProbabilityDistributionsInReliabilityAnalysis ├── 05_04_SomeTimeToFailureDistributions │ ├── 05_04_02_TheGammaDistribution.ipynb │ ├── 05_04_03_TheWeibullDistribution.ipynb │ ├── 05_04_04_TheNormalDistribution.ipynb │ └── 05_04_05_TheLognormalDistribution.ipynb └── 05_07_AdditionalContinuousDistributions │ └── 05_07_02_TheBetaDistribution.ipynb ├── 06_SystemReliabilityAnalysis └── 06_03_NonRepairableSystems │ └── 06_03_02_NonrepairableParallelStructures.ipynb ├── 10_CountingProcesses └── 10_07_Problems │ ├── 10_07_Dataset_Problem_10_13.txt │ └── TestDataLoading.ipynb ├── 11_MarkovAnalysis ├── 11_09_TimeDependentSolution.ipynb ├── 11_11_MultiphaseMarkovProcesses │ ├── 11_11_01_ChangingTheTransitionRates.ipynb │ └── 11_11_02_ChangingTheInitialState.ipynb ├── 11_12_PiecewiseDeterministicMarkovProcesses │ └── 11_12_03_ASpecificCase.ipynb └── 11_13_SimulationOfAMarkovProcess.ipynb ├── 12_PreventiveMaintenance ├── 12_04_DegradationModels │ ├── 12_04_02_TrendModelsRegressionBasedModels.ipynb │ └── 12_04_03_ModelsWithIncrements.ipynb └── 12_05_ConditionBasedMaintenance │ ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace1.ipynb │ ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace2.ipynb │ ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace3.ipynb │ ├── 12_05_04_InspectionBasedMonitoringAndFiniteDiscreteStateSpace.ipynb │ └── 12_05_05_InspectionBasedMonitoringAndContinuousStateSpace.ipynb ├── 14_ReliabilityDataAnalysis ├── 14_02_SomeBasicConcepts │ └── 14_02_02_SurvivalTimes.ipynb ├── 14_03_ExploratoryDataAnalysis │ ├── 14_03_01_ACompleteDataset.ipynb │ ├── 14_03_02_SampleMetrics.ipynb │ ├── 14_03_03_Histogram.ipynb │ ├── 14_03_04_DensityPlot.ipynb │ ├── 14_03_05_EmpiricalSurvivorFunction.ipynb │ ├── 14_03_06_QQPlot.ipynb │ └── 14_03_dataset.txt ├── 14_04_ParameterEstimation │ ├── 14_04_03_MethodOfMomentsEstimation.ipynb │ ├── 14_04_04_MaximumLikelihoodEstimation.ipynb │ ├── 14_04_06_WeibullDistributedLifetimes.ipynb │ └── 14_04_dataset.txt ├── 14_05_TheKaplanMeierEstimate │ └── 14_05_02_TheKaplanMeierEstimatorForACensoredDataset.ipynb ├── 14_06_CumulativeFailureRatePlots │ └── 14_06_01_TheNelsonAalenEstimateOfTheCumulativeFailureRate.ipynb ├── 14_07_TotalTimeOnTestPlotting │ └── 14_07_01_TotalTimeOnTestPlotForCompleteDatasets.ipynb └── 14_09_Problems │ ├── 14_09_Dataset_Problem_14_01.txt │ ├── 14_09_Dataset_Problem_14_02.txt │ ├── 14_09_Dataset_Problem_14_03.txt │ ├── 14_09_Dataset_Problem_14_11.txt │ ├── 14_09_Dataset_Problem_14_12.txt │ ├── 14_09_Dataset_Problem_14_13.txt │ ├── 14_09_Dataset_Problem_14_16.txt │ ├── 14_09_Dataset_Problem_14_17.txt │ ├── 14_09_Dataset_Problem_14_18.txt │ └── TestDataLoading.ipynb ├── 15_BayesianReliabilityAnalysis └── 15_03_SelectionOfPriorDistribution │ └── 15_03_01_BinomialModel.ipynb ├── Errata └── errata.pdf ├── LICENSE.txt ├── README.md ├── ReliabilityBookEnv.yml └── images ├── Schema_11_09.png ├── Schema_11_11_02.png ├── Schema_12_05_02.png └── srt.png /.gitignore: -------------------------------------------------------------------------------- 1 | .venv/ 2 | .ipynb_checkpoints 3 | -------------------------------------------------------------------------------- /05_ProbabilityDistributionsInReliabilityAnalysis/05_04_SomeTimeToFailureDistributions/05_04_03_TheWeibullDistribution.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## The Weibull distribution" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dd3xUVfoG8JNGCRBFsSS0JSAC\ngmAlgMZGCUEBlV5EUUFU3F0RcVGpKoIuq6tiAUXsvf1ERboFEVBgAQWkWBBQkA7BkMz8JoUQ\n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", 18 | "text/plain": [ 19 | "plot without title" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | } 25 | ], 26 | "source": [ 27 | "t<-seq(0, 1000, length=300) # Set time axis\n", 28 | "# Set the parameters\n", 29 | "a<-2.5 # shape parameter (alpha)\n", 30 | "th<-200 # scale parameter (theta)\n", 31 | "# Calculate the Weibull density (y) for each t\n", 32 | "y<-dweibull(t, a, th, log=FALSE)\n", 33 | "plot(t, y, type=\"l\")" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": null, 39 | "metadata": {}, 40 | "outputs": [], 41 | "source": [] 42 | } 43 | ], 44 | "metadata": { 45 | "kernelspec": { 46 | "display_name": "R", 47 | "language": "R", 48 | "name": "ir" 49 | }, 50 | "language_info": { 51 | "codemirror_mode": "r", 52 | "file_extension": ".r", 53 | "mimetype": "text/x-r-source", 54 | "name": "R", 55 | "pygments_lexer": "r", 56 | "version": "3.6.1" 57 | } 58 | }, 59 | "nbformat": 4, 60 | "nbformat_minor": 2 61 | } 62 | -------------------------------------------------------------------------------- /05_ProbabilityDistributionsInReliabilityAnalysis/05_04_SomeTimeToFailureDistributions/05_04_05_TheLognormalDistribution.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## The Lognormal Distribution" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dd3wVVfr48ZNcIKFFwAKhSrAA\nImIlIERFFBKqoiACAosi2FcUC0UQOy6wiK6o2BdXxK64KggoomBsFGWxYKMpgiAYSsovIQr4\n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\nkVv4pwAAAABJRU5ErkJggg==", 18 | "text/plain": [ 19 | "plot without title" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | } 25 | ], 26 | "source": [ 27 | "t<-seq(0, 10, length=300) # Set the time axis\n", 28 | "# Set the parameters\n", 29 | "nu<-5\n", 30 | "tau<-2\n", 31 | "# Calculate the lognormal density y for each t\n", 32 | "y<-dlnorm(t, nu, tau, log=FALSE)\n", 33 | "plot(t, y, type=\"l\")" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": null, 39 | "metadata": {}, 40 | "outputs": [], 41 | "source": [] 42 | } 43 | ], 44 | "metadata": { 45 | "kernelspec": { 46 | "display_name": "R", 47 | "language": "R", 48 | "name": "ir" 49 | }, 50 | "language_info": { 51 | "codemirror_mode": "r", 52 | "file_extension": ".r", 53 | "mimetype": "text/x-r-source", 54 | "name": "R", 55 | "pygments_lexer": "r", 56 | "version": "3.6.1" 57 | } 58 | }, 59 | "nbformat": 4, 60 | "nbformat_minor": 2 61 | } 62 | -------------------------------------------------------------------------------- /05_ProbabilityDistributionsInReliabilityAnalysis/05_07_AdditionalContinuousDistributions/05_07_02_TheBetaDistribution.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## The Beta Distribution" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deZzN1f8H8HPnzo5hrNm/RlnG\nNkW2JKFshRJZEvFNVOpbqYivJUXbF23SIhW+leLXXkK0USghJRT1lSUydmPGzP3NhjHLZ+7y\n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\nX31bF2/0N2rmz5JbJNrvP+Vr7U5MaBnXMnuNYO430tknOOZfduZnlJ0s8+dQV6SC8x8Z26pk\n/VvU/DNS2Py/Da4bU++mHarm9+UrEtX3Hy6jACCAIgEQQJEACKBIAARQJAACKBIAARQJgACK\nBEAARQIggCIBEECRAAigSAAEUCQAAigSAAEUCYAAigRAAEUCIIAiARBAkQAIoEgABFAkAAIo\nEgABFAmAAIoEQABFAiCAIgEQQJEACKBIAARQJAACKBIAARQJgACKBEAARQIggCIBEECRAAig\nSAAEUCQAAiiSnn6MbJf5a2rDsru5k0A2FElTE8Ucn+9hMY87B+RAkTR1smG5fduir+aOAblQ\nJF19E3ZDx/hd3CkgF4qkrbuEeI07A5yGImlrqyhxiDsDnIYiaat7lLiVOwOchiLpap6Y0cfz\nNXcKyIUiaWpPuWandsUlnuTOATlQJE1d6/3e53tGTOLOATlQJD29Ie7J/DW9edRP3EkgG4oE\nQABFAiCAIgEQQJEACKBIAARQJAACKBIAARQJgACKBEAARQIggCIBEECRAAigSAAEUCQAAigS\nAAEUCYAAigRAAEUCIIAiARBAkQAIoEgABFAkAAIoEgABFAmAAIoEQABFAiCAIgEQQJEACKBI\nAARQJAACKBIAgf8H/55thcdh18AAAAAASUVORK5CYII=", 18 | "text/plain": [ 19 | "plot without title" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | } 25 | ], 26 | "source": [ 27 | "x<-seq(0, 1, length=300) # Set the values for the x-axis\n", 28 | "# Set the parameters a (=alpha) and b (=beta)\n", 29 | "a<-2\n", 30 | "b<-5\n", 31 | "# Calculate the beta density y for each x\n", 32 | "y<-dbeta(x, a, b, log=FALSE)\n", 33 | "plot(x, y, type=\"l\", xlab=\"x\", ylab=\"f(x)\")" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": null, 39 | "metadata": {}, 40 | "outputs": [], 41 | "source": [] 42 | } 43 | ], 44 | "metadata": { 45 | "kernelspec": { 46 | "display_name": "R", 47 | "language": "R", 48 | "name": "ir" 49 | }, 50 | "language_info": { 51 | "codemirror_mode": "r", 52 | "file_extension": ".r", 53 | "mimetype": "text/x-r-source", 54 | "name": "R", 55 | "pygments_lexer": "r", 56 | "version": "3.6.1" 57 | } 58 | }, 59 | "nbformat": 4, 60 | "nbformat_minor": 2 61 | } 62 | -------------------------------------------------------------------------------- /06_SystemReliabilityAnalysis/06_03_NonRepairableSystems/06_03_02_NonrepairableParallelStructures.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Nonrepairable parallel structures\n", 8 | "\n", 9 | "Failure rate function for a parallel structure of two independent and identical components that are Weibull distributed with $\\alpha=1.8$ and $\\theta=1$" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "data": { 19 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dd4BU1fm48YszW9iFlSIgNVIE\nBBEshKKAiUQR7LEiYldMIX5tsYMFQyImmGI0UWOJxhL9QVREsZdEgSBqECyAgCIK0gQWWHb2\n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\nlVuT17ak6pThvaqzktmdKl3/xtCcd2r+Q2qnLIe0xjuu8vtob12MM8wtVTbMO/n9zW8O9G4V\nXqlS3Xu3uZ1qtJTZnSorW9LNu7f6pOG9qrOS2Z2a4HkFtYfpE9spyyF95R1f+X20tzrGGeaW\nKpszq+L/OmtbFpo4SFvde7e5nWq0lNmd2nRN09zf1fyH0b2qt5LZnZo15Vf929V82rLYTln/\n1W545ffBodIYZ5hbqsaPvY+Fl6pQ/1c7UzvVaKkaRnZqZgdv9KLa/zK5V/VXqmHmT6rcpjY1\nDxCK7ZTtBxvad6v81qVTzDPMLVXtYq/xH1nm6t27ze1Uo6Wqmdip67xu9R4UNrdXDVeqJr9T\n7//slcrvI71t1edI7ZTtkE71Pi3/+pF3WswzjC316d4/r/w+NLck5m3SV+/ebW6nGi5lcKce\n8E7YVO8MY3vVcCVzO7XEqzred6/aH6HUTtkO6WVvfPnXsRXPf+1ct6H+GaaX6pf/n/KvD+1+\nDkFS9b3b9E41WsrYTkV6Na99IY3ZvWq8krmd6lLwUfm3+71TpXfKdkiRUd4R1x3ujSk/+ZI3\noP4Zppd6Jz984iXDvJ5Gjj1ffe82vVONljK2U8u91iOrrDW8V41XMvcn9WyT/B//ZLjXfo30\nH5X119oVTxpcNLjyNYJVO1LnDONLLTipU8FB125LcLP01Lt3G9ypRkuZ2qmXvRpfGN6rKCuZ\n+5P696hOhf0vq/i7SHaneBsFIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAgg\nJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAgg\nJEAAIQECCAkQQEiAAEICBBASIICQAAGE5FszvL+7HgG1CMm3CEkTQvItQtKEkPxqZMXHgK9z\nPQWqEZJfvTDRu+iBjD/VHkIIybf41U4TQvItQtKEkHyLkDQhJN8iJE0IybcISRNC8i1C0oSQ\nfGuGd7/rEVCLkHzrBe/gW7a6HgLVCMm3io/Nb7Xe9RCoRkiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAA\nIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQEC/j9DBl65wEsgNQAAAABJRU5ErkJggg==", 20 | "text/plain": [ 21 | "plot without title" 22 | ] 23 | }, 24 | "metadata": {}, 25 | "output_type": "display_data" 26 | } 27 | ], 28 | "source": [ 29 | "t<-seq(0, 3, length=300) # time axis\n", 30 | "a<-1.8\n", 31 | "# the Weibull shape parameter\n", 32 | "th<-1 # the Weibull scale parameter\n", 33 | "th1<-2^(-1/a)*th # the transformed scale parameter\n", 34 | "m<-(2*th-th1)*gamma(1+1/a) # the MTTF\n", 35 | "x<-2*dweibull(t, a, th, log=FALSE) -\n", 36 | "dweibull(t, a, th1, log=FALSE)\n", 37 | "y<-1+pweibull(t, a, th1, log=FALSE) -\n", 38 | "2*pweibull(t, a, th, log=FALSE)\n", 39 | "z<-x/y\n", 40 | "plot(t, z, type=\"l\")\n", 41 | "segments(m, 0, m, 2.1)\n", 42 | "text(m, 2.6, expression(MTTF[S]))" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": null, 48 | "metadata": {}, 49 | "outputs": [], 50 | "source": [] 51 | } 52 | ], 53 | "metadata": { 54 | "kernelspec": { 55 | "display_name": "R", 56 | "language": "R", 57 | "name": "ir" 58 | }, 59 | "language_info": { 60 | "codemirror_mode": "r", 61 | "file_extension": ".r", 62 | "mimetype": "text/x-r-source", 63 | "name": "R", 64 | "pygments_lexer": "r", 65 | "version": "3.6.1" 66 | } 67 | }, 68 | "nbformat": 4, 69 | "nbformat_minor": 2 70 | } 71 | -------------------------------------------------------------------------------- /10_CountingProcesses/10_07_Problems/10_07_Dataset_Problem_10_13.txt: -------------------------------------------------------------------------------- 1 | Failure,Item1,Item2,Item3,Item4,Item5 2 | 1,2099,2504,4081,1015,382 3 | 2,5352,3060,5210,3686,1621 4 | 3,8116,3626,6722,4535,1629 5 | 4,9085,5559,15584,5279,6726 6 | 5,10581,6691,17759,5860,8356 7 | 6,12672,11848,21397,7454,12832 8 | 7,13042,17688,21858,12412,12910 9 | 8,14114,18955,24192,15361,23659 10 | 9,15310,19454,25468,15542,24169 11 | 10,15483,19590,29063,19305,24572 12 | -------------------------------------------------------------------------------- /10_CountingProcesses/10_07_Problems/TestDataLoading.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "data": { 10 | "text/html": [ 11 | "\n", 12 | "\n", 13 | "\n", 14 | "\t\n", 15 | "\t\n", 16 | "\t\n", 17 | "\t\n", 18 | "\t\n", 19 | "\t\n", 20 | "\t\n", 21 | "\t\n", 22 | "\t\n", 23 | "\t\n", 24 | "\n", 25 | "
FailureItem1Item2Item3Item4Item5
1 2099 2504 4081 1015 382
2 5352 3060 5210 3686 1621
3 8116 3626 6722 4535 1629
4 9085 555915584 5279 6726
5 10581 669117759 5860 8356
6 126721184821397 745412832
7 1304217688218581241212910
8 1411418955241921536123659
9 1531019454254681554224169
10 1548319590290631930524572
\n" 26 | ], 27 | "text/latex": [ 28 | "\\begin{tabular}{r|llllll}\n", 29 | " Failure & Item1 & Item2 & Item3 & Item4 & Item5\\\\\n", 30 | "\\hline\n", 31 | "\t 1 & 2099 & 2504 & 4081 & 1015 & 382\\\\\n", 32 | "\t 2 & 5352 & 3060 & 5210 & 3686 & 1621\\\\\n", 33 | "\t 3 & 8116 & 3626 & 6722 & 4535 & 1629\\\\\n", 34 | "\t 4 & 9085 & 5559 & 15584 & 5279 & 6726\\\\\n", 35 | "\t 5 & 10581 & 6691 & 17759 & 5860 & 8356\\\\\n", 36 | "\t 6 & 12672 & 11848 & 21397 & 7454 & 12832\\\\\n", 37 | "\t 7 & 13042 & 17688 & 21858 & 12412 & 12910\\\\\n", 38 | "\t 8 & 14114 & 18955 & 24192 & 15361 & 23659\\\\\n", 39 | "\t 9 & 15310 & 19454 & 25468 & 15542 & 24169\\\\\n", 40 | "\t 10 & 15483 & 19590 & 29063 & 19305 & 24572\\\\\n", 41 | "\\end{tabular}\n" 42 | ], 43 | "text/markdown": [ 44 | "\n", 45 | "| Failure | Item1 | Item2 | Item3 | Item4 | Item5 |\n", 46 | "|---|---|---|---|---|---|\n", 47 | "| 1 | 2099 | 2504 | 4081 | 1015 | 382 |\n", 48 | "| 2 | 5352 | 3060 | 5210 | 3686 | 1621 |\n", 49 | "| 3 | 8116 | 3626 | 6722 | 4535 | 1629 |\n", 50 | "| 4 | 9085 | 5559 | 15584 | 5279 | 6726 |\n", 51 | "| 5 | 10581 | 6691 | 17759 | 5860 | 8356 |\n", 52 | "| 6 | 12672 | 11848 | 21397 | 7454 | 12832 |\n", 53 | "| 7 | 13042 | 17688 | 21858 | 12412 | 12910 |\n", 54 | "| 8 | 14114 | 18955 | 24192 | 15361 | 23659 |\n", 55 | "| 9 | 15310 | 19454 | 25468 | 15542 | 24169 |\n", 56 | "| 10 | 15483 | 19590 | 29063 | 19305 | 24572 |\n", 57 | "\n" 58 | ], 59 | "text/plain": [ 60 | " Failure Item1 Item2 Item3 Item4 Item5\n", 61 | "1 1 2099 2504 4081 1015 382\n", 62 | "2 2 5352 3060 5210 3686 1621\n", 63 | "3 3 8116 3626 6722 4535 1629\n", 64 | "4 4 9085 5559 15584 5279 6726\n", 65 | "5 5 10581 6691 17759 5860 8356\n", 66 | "6 6 12672 11848 21397 7454 12832\n", 67 | "7 7 13042 17688 21858 12412 12910\n", 68 | "8 8 14114 18955 24192 15361 23659\n", 69 | "9 9 15310 19454 25468 15542 24169\n", 70 | "10 10 15483 19590 29063 19305 24572" 71 | ] 72 | }, 73 | "metadata": {}, 74 | "output_type": "display_data" 75 | }, 76 | { 77 | "data": { 78 | "text/html": [ 79 | "
    \n", 80 | "\t
  1. 10
  2. \n", 81 | "\t
  3. 6
  4. \n", 82 | "
\n" 83 | ], 84 | "text/latex": [ 85 | "\\begin{enumerate*}\n", 86 | "\\item 10\n", 87 | "\\item 6\n", 88 | "\\end{enumerate*}\n" 89 | ], 90 | "text/markdown": [ 91 | "1. 10\n", 92 | "2. 6\n", 93 | "\n", 94 | "\n" 95 | ], 96 | "text/plain": [ 97 | "[1] 10 6" 98 | ] 99 | }, 100 | "metadata": {}, 101 | "output_type": "display_data" 102 | } 103 | ], 104 | "source": [ 105 | "x<-read.table(\"10_07_Dataset_Problem_10_13.txt\", header=TRUE, dec=\".\", sep=\",\")\n", 106 | "x\n", 107 | "dim(x)" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": null, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [] 116 | } 117 | ], 118 | "metadata": { 119 | "kernelspec": { 120 | "display_name": "R", 121 | "language": "R", 122 | "name": "ir" 123 | }, 124 | "language_info": { 125 | "codemirror_mode": "r", 126 | "file_extension": ".r", 127 | "mimetype": "text/x-r-source", 128 | "name": "R", 129 | "pygments_lexer": "r", 130 | "version": "3.6.1" 131 | } 132 | }, 133 | "nbformat": 4, 134 | "nbformat_minor": 4 135 | } 136 | -------------------------------------------------------------------------------- /11_MarkovAnalysis/11_13_SimulationOfAMarkovProcess.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 11.13 Simulation of a Markov Process\n", 8 | "\n", 9 | "In this notebook is the Python implementation of the pseudocode provided in section 11.13 (cf. figures 11.21 and 11.22). System description is provided in example 11.12 and depicted figure 11.20.\n", 10 | "\n", 11 | "### IMPORT" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 21, 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [ 20 | "import numpy as np\n", 21 | "from scipy.linalg import expm" 22 | ] 23 | }, 24 | { 25 | "cell_type": "markdown", 26 | "metadata": {}, 27 | "source": [ 28 | "### Subfunction *Single history*" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 22, 34 | "metadata": {}, 35 | "outputs": [], 36 | "source": [ 37 | "def GetOneHistory(lambdaA, lambdaB):\n", 38 | " # Time to failure initialization\n", 39 | " ttf = 0\n", 40 | " # Initial state\n", 41 | " state = 3\n", 42 | " # Change of notations\n", 43 | " lambda30 = lambdaA\n", 44 | " lambda32 = lambdaB\n", 45 | " lambda20 = lambdaA\n", 46 | " lambda21 = lambdaB\n", 47 | " # Loop while any of the final states is reached\n", 48 | " while (state!=1) and (state!=0):\n", 49 | " # If current state is 3\n", 50 | " if state==3:\n", 51 | " # Draw duration until component A failure\n", 52 | " t30 = np.random.exponential(scale=1/lambda30)\n", 53 | " # Draw duration until component B_1 failure\n", 54 | " t32 = np.random.exponential(scale=1/lambda32)\n", 55 | " # If next event is component A failure\n", 56 | " if t30<=t32:\n", 57 | " state = 0 # Update the system state\n", 58 | " ttf = ttf+t30 # Update the time to failure\n", 59 | " else:\n", 60 | " state = 2 # Update the system state\n", 61 | " ttf = ttf+t32 # Update the time to failure\n", 62 | " # If current state is 2\n", 63 | " else:\n", 64 | " # Draw duration until component A failure # (Exponential law's property)\n", 65 | " t20 = np.random.exponential(scale=1/lambda20)\n", 66 | " # Draw duration until component B2 failure\n", 67 | " t21 = np.random.exponential(scale=1/lambda21)\n", 68 | " # If next event is component A failure\n", 69 | " if t20<=t21:\n", 70 | " state = 0 # Update the system state\n", 71 | " ttf = ttf+t20 # Update the time to failure\n", 72 | " # If next event is component B_2 failure\n", 73 | " else:\n", 74 | " state = 1 # Update the system state\n", 75 | " ttf = ttf+t21 # Update the time to failure\n", 76 | " # return time to failure and final state\n", 77 | " return (ttf, state)" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "### Subfunction providing *Estimate of MTTF and failure states probabilities*" 85 | ] 86 | }, 87 | { 88 | "cell_type": "code", 89 | "execution_count": 23, 90 | "metadata": {}, 91 | "outputs": [], 92 | "source": [ 93 | "def SystemMonteCarlo(N, lambdaA, lambdaB):\n", 94 | " # Initialize variables\n", 95 | " mttf = 0\n", 96 | " state0 = 0\n", 97 | " # Loop on N histories\n", 98 | " for i in range(0,N):\n", 99 | " # Get outputs of a single history\n", 100 | " ttf, state = GetOneHistory(lambdaA, lambdaB)\n", 101 | " # Sum time to failure\n", 102 | " mttf = mttf+ttf\n", 103 | " if state==0:\n", 104 | " # Sum histories ending on state 0\n", 105 | " state0 = state0+1\n", 106 | " # Estimate the system MTTF\n", 107 | " mttf = mttf/N\n", 108 | " # Estimate probability that system ends on state 0\n", 109 | " state0 = state0/N\n", 110 | " # Estimate probability that system ends on state 1\n", 111 | " state1 = 1-state0\n", 112 | " # return time to failure and probabilities estimation\n", 113 | " return (mttf, state0, state1)" 114 | ] 115 | }, 116 | { 117 | "cell_type": "markdown", 118 | "metadata": {}, 119 | "source": [ 120 | "### Computation" 121 | ] 122 | }, 123 | { 124 | "cell_type": "code", 125 | "execution_count": 24, 126 | "metadata": {}, 127 | "outputs": [ 128 | { 129 | "name": "stdout", 130 | "output_type": "stream", 131 | "text": [ 132 | "MTTF: 736103.721683\n", 133 | "Ending in state 0 probability: 0.742000\n", 134 | "Ending in state 1 probability: 0.258000\n" 135 | ] 136 | } 137 | ], 138 | "source": [ 139 | "mttf, state0, state1 = SystemMonteCarlo(N=1000, lambdaA=1e-6, lambdaB=1e-6)\n", 140 | "print('MTTF: {:f}'.format(mttf))\n", 141 | "print('Ending in state 0 probability: {:f}'.format(state0))\n", 142 | "print('Ending in state 1 probability: {:f}'.format(state1))" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": null, 148 | "metadata": {}, 149 | "outputs": [], 150 | "source": [] 151 | } 152 | ], 153 | "metadata": { 154 | "kernelspec": { 155 | "display_name": "Python 3", 156 | "language": "python", 157 | "name": "python3" 158 | }, 159 | "language_info": { 160 | "codemirror_mode": { 161 | "name": "ipython", 162 | "version": 3 163 | }, 164 | "file_extension": ".py", 165 | "mimetype": "text/x-python", 166 | "name": "python", 167 | "nbconvert_exporter": "python", 168 | "pygments_lexer": "ipython3", 169 | "version": "3.7.7" 170 | } 171 | }, 172 | "nbformat": 4, 173 | "nbformat_minor": 4 174 | } 175 | -------------------------------------------------------------------------------- /12_PreventiveMaintenance/12_05_ConditionBasedMaintenance/12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 12.5.2 Continuous monitoring and finite discrete state space\n", 8 | "\n", 9 | "This notebook is dedicated to the Case 4 when $\\mu_{13}$ is not constant \n", 10 | "\n", 11 | "The notebook is structured as follows:\n", 12 | "+ Functions\n", 13 | "+ Case 4 a: rate $\\mu_{13}$ is constant (for comparison)\n", 14 | "+ Case 4 b: rate $\\mu_{13}$ is not constant: it depends on the time spend in state 2 according to a linear relation given in function `OneHistory`\n", 15 | "+ Compare cases\n", 16 | "\n" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 1, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "import numpy as np\n", 26 | "import pandas as pd\n", 27 | "from scipy.interpolate import interp1d\n", 28 | "\n", 29 | "%matplotlib notebook\n", 30 | "import matplotlib.pyplot as plt" 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": {}, 36 | "source": [ 37 | "### Functions" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 2, 43 | "metadata": {}, 44 | "outputs": [], 45 | "source": [ 46 | "def RandExp(rate):\n", 47 | " '''Draw random samples from an exponential distribution.\n", 48 | " If rate is null, output is set to infinity.'''\n", 49 | " if rate==0:\n", 50 | " return np.inf\n", 51 | " else:\n", 52 | " return np.random.exponential(scale=1/rate)" 53 | ] 54 | }, 55 | { 56 | "cell_type": "code", 57 | "execution_count": 3, 58 | "metadata": {}, 59 | "outputs": [], 60 | "source": [ 61 | "def UpdateVar(horizonTime, currentTime, currentState, dT, nextState, \n", 62 | " timeState, transMatrix):\n", 63 | " '''Update system state and time spent in the different states and achieved transitions.'''\n", 64 | " currentTime = currentTime+dT\n", 65 | " flagSim = True\n", 66 | " if currentTime>=horizonTime:\n", 67 | " flagSim = False\n", 68 | " dT = dT-(currentTime-horizonTime)\n", 69 | " currentTime = currentTime+dT\n", 70 | " timeState[currentState] = timeState[currentState]+dT\n", 71 | " transMatrix[currentState,nextState] = transMatrix[currentState,nextState]+1\n", 72 | " currentState = nextState\n", 73 | " return (flagSim, currentTime, currentState, timeState, transMatrix)" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": 4, 79 | "metadata": {}, 80 | "outputs": [], 81 | "source": [ 82 | "def OneHistory(para):\n", 83 | " '''Simulate one history of the system until simulation time horizon is reached.\n", 84 | " '''\n", 85 | " # Definition of the interpolation function to determine mu3 depending on the time spent in state 2\n", 86 | " fmu3 = interp1d(np.array([para['mu13']['tinf'], para['mu13']['tsup']]),\n", 87 | " np.array([para['mu13']['vinf'], para['mu13']['vsup']]),\n", 88 | " bounds_error=False, fill_value=(para['mu13']['vinf'], para['mu13']['vsup']))\n", 89 | " # Intial conditions\n", 90 | " currentState = 3\n", 91 | " currentTime = 0\n", 92 | " flagSim = True\n", 93 | " # Counters initialization\n", 94 | " nState = 4\n", 95 | " timeState = np.zeros(nState)\n", 96 | " transMatrix = np.zeros((nState, nState))\n", 97 | " while flagSim:\n", 98 | " if (currentState==3):\n", 99 | " # Evaluate concurrent transitions and determine the actual one\n", 100 | " dT = RandExp(rate=para['lambda32'])\n", 101 | " nextState = 2\n", 102 | " elif (currentState==2):\n", 103 | " # Evaluate concurrent transitions and determine the actual one\n", 104 | " dT23 = RandExp(rate=para['mu23'])\n", 105 | " dT21 = RandExp(rate=para['lambda21'])\n", 106 | " dT = np.min([dT23, dT21])\n", 107 | " if (dT==dT23):\n", 108 | " nextState = 3\n", 109 | " elif (dT==dT21):\n", 110 | " nextState = 1\n", 111 | " else:\n", 112 | " raise ValueError('Approximation error')\n", 113 | " elif (currentState==1):\n", 114 | " # POSSIBLY NOT CONSTANT TRANSITION RATE\n", 115 | " mu13 = fmu3(dT)\n", 116 | " # Evaluate concurrent transitions and determine the actual one\n", 117 | " dT12 = RandExp(rate=para['mu12'])\n", 118 | " dT13 = RandExp(rate=mu13)\n", 119 | " dT10 = RandExp(rate=para['lambda10'])\n", 120 | " dT = np.min([dT12, dT13, dT10])\n", 121 | " if (dT==dT12):\n", 122 | " nextState = 2\n", 123 | " elif (dT==dT13):\n", 124 | " nextState = 3\n", 125 | " elif (dT==dT10):\n", 126 | " nextState = 0\n", 127 | " else:\n", 128 | " raise ValueError('Approximation error')\n", 129 | " elif (currentState==0):\n", 130 | " # Evaluate concurrent transitions and determine the actual one\n", 131 | " dT = RandExp(rate=para['mu03'])\n", 132 | " nextState = 3\n", 133 | " else:\n", 134 | " raise ValueError('Unknown state')\n", 135 | " # Update variables\n", 136 | " (flagSim, currentTime, currentState, timeState, transMatrix) = UpdateVar(\n", 137 | " para['horizon'], currentTime, currentState, dT, nextState, \n", 138 | " timeState, transMatrix)\n", 139 | " return (timeState, transMatrix)" 140 | ] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": 5, 145 | "metadata": {}, 146 | "outputs": [], 147 | "source": [ 148 | "def NHistories(nbN, para):\n", 149 | " '''Simulate several histories and aggregate time spent in the different states and achieved\n", 150 | " transitions (Monté-carlo approach).\n", 151 | " '''\n", 152 | " # Simulate a first history to assess output shapes\n", 153 | " (timeStateOne, transMatrixOne) = OneHistory(para)\n", 154 | " timeState = np.empty((nbN, timeStateOne.shape[0]))\n", 155 | " transMatrix = np.empty((nbN, transMatrixOne.shape[0], transMatrixOne.shape[1]))\n", 156 | " # Main loop\n", 157 | " for id in range(nbN):\n", 158 | " (timeState[id,:], transMatrix[id,:,:]) = OneHistory(para)\n", 159 | " return (timeState, transMatrix)" 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": 6, 165 | "metadata": {}, 166 | "outputs": [], 167 | "source": [ 168 | "def GetResults(timeState, transMatrix, case):\n", 169 | " '''Get and display simulations results'''\n", 170 | " # Probability of each states\n", 171 | " res = {'Case': case}\n", 172 | " for id in range(4):\n", 173 | " res['State{:d}'.format(id)] = np.mean(timeState[:, id]/np.sum(timeState[:, :], axis=1))\n", 174 | " print('State {:d} -> Probability: {:.5f}'.format(id, res['State{:d}'.format(id)], axis=1))\n", 175 | " # Average simulated time\n", 176 | " res['AveSimTime'] = np.mean(np.sum(timeState[:, :], axis=1))\n", 177 | " print('Average simulated time (h): {:.2f}'.format(res['AveSimTime']))\n", 178 | " # Average operating time\n", 179 | " res['AveOpeTime'] = np.mean(np.sum(timeState[:, 1:], axis=1))\n", 180 | " print('Average operating time (h): {:.2f}'.format(res['AveOpeTime']))\n", 181 | " # Average repairing time\n", 182 | " res['aveRepTime'] = np.mean(timeState[:, 0])\n", 183 | " print('Average repairing time (h): {:.2f}'.format(res['aveRepTime']))\n", 184 | " # Average number of corrective maintenance\n", 185 | " res['aveCorMaint'] = np.mean(transMatrix[:, 0, 3])\n", 186 | " print('Average number of corrective maintenance: {:.2f}'.format(res['aveCorMaint']))\n", 187 | " # Average number of preventive maintenance\n", 188 | " res['avePreMaint'] = np.mean(transMatrix[:, 1, 2])+np.mean(transMatrix[:, 1, 3]+np.mean(transMatrix[:, 2, 3])) \n", 189 | " print('Average number of preventive maintenance: {:.2f}'.format(res['avePreMaint'])) \n", 190 | " return res" 191 | ] 192 | }, 193 | { 194 | "cell_type": "markdown", 195 | "metadata": {}, 196 | "source": [ 197 | "### CASE 4 : TWO LEVELS PREVENTIVE MAINTENANCE (a. $\\mu_{13}$ constant)" 198 | ] 199 | }, 200 | { 201 | "cell_type": "code", 202 | "execution_count": 7, 203 | "metadata": {}, 204 | "outputs": [ 205 | { 206 | "name": "stdout", 207 | "output_type": "stream", 208 | "text": [ 209 | "Case 4: Two levels preventive maintenance\n", 210 | "\n", 211 | "State 0 -> Probability: 0.00003\n", 212 | "State 1 -> Probability: 0.00082\n", 213 | "State 2 -> Probability: 0.02803\n", 214 | "State 3 -> Probability: 0.97112\n", 215 | "Average simulated time (h): 87600.00\n", 216 | "Average operating time (h): 87597.60\n", 217 | "Average repairing time (h): 2.40\n", 218 | "Average number of corrective maintenance: 0.00\n", 219 | "Average number of preventive maintenance: 2.55\n" 220 | ] 221 | } 222 | ], 223 | "source": [ 224 | "# Parameters\n", 225 | "nbHist = int(1e5)\n", 226 | "# By setting same values at `vinf` and `vsup`, a constant rate is forced\n", 227 | "para = {\n", 228 | " 'horizon' : 10*365*24,\n", 229 | " 'lambda32': 3e-5,\n", 230 | " 'lambda21': 3e-5,\n", 231 | " 'lambda10': 3e-5,\n", 232 | " 'mu03': 1e-3,\n", 233 | " 'mu12': 0,\n", 234 | " 'mu13': {'tinf': 100, 'vinf': 1e-3, 'tsup': 2500, 'vsup': 1e-3},\n", 235 | " 'mu23': 1e-3}\n", 236 | "# Simulation\n", 237 | "(timeState, transMatrix) = NHistories(nbHist, para)\n", 238 | "# Get simulations results\n", 239 | "print('Case 4: Two levels preventive maintenance\\n')\n", 240 | "res4a = GetResults(timeState, transMatrix, 4)" 241 | ] 242 | }, 243 | { 244 | "cell_type": "code", 245 | "execution_count": 8, 246 | "metadata": {}, 247 | "outputs": [], 248 | "source": [ 249 | "### CASE 4 : TWO LEVELS PREVENTIVE MAINTENANCE (b. $\\mu_{13}$ not constant)" 250 | ] 251 | }, 252 | { 253 | "cell_type": "code", 254 | "execution_count": 9, 255 | "metadata": {}, 256 | "outputs": [ 257 | { 258 | "name": "stdout", 259 | "output_type": "stream", 260 | "text": [ 261 | "Case 4: Two levels preventive maintenance\n", 262 | "\n", 263 | "State 0 -> Probability: 0.00005\n", 264 | "State 1 -> Probability: 0.00151\n", 265 | "State 2 -> Probability: 0.02796\n", 266 | "State 3 -> Probability: 0.97048\n", 267 | "Average simulated time (h): 87600.00\n", 268 | "Average operating time (h): 87595.80\n", 269 | "Average repairing time (h): 4.20\n", 270 | "Average number of corrective maintenance: 0.00\n", 271 | "Average number of preventive maintenance: 2.54\n" 272 | ] 273 | } 274 | ], 275 | "source": [ 276 | "# Parameters\n", 277 | "nbHist = int(1e5)\n", 278 | "para = {\n", 279 | " 'horizon' : 10*365*24,\n", 280 | " 'lambda32': 3e-5,\n", 281 | " 'lambda21': 3e-5,\n", 282 | " 'lambda10': 3e-5,\n", 283 | " 'mu03': 1e-3,\n", 284 | " 'mu12': 0,\n", 285 | " 'mu13': {'tinf': 100, 'vinf': 1e-5, 'tsup': 2500, 'vsup': 1e-1},\n", 286 | " 'mu23': 1e-3}\n", 287 | "# Simulation\n", 288 | "(timeState, transMatrix) = NHistories(nbHist, para)\n", 289 | "# Get simulations results\n", 290 | "print('Case 4: Two levels preventive maintenance\\n')\n", 291 | "res4b = GetResults(timeState, transMatrix, 4)" 292 | ] 293 | }, 294 | { 295 | "cell_type": "code", 296 | "execution_count": 10, 297 | "metadata": {}, 298 | "outputs": [], 299 | "source": [ 300 | "### Compare cases" 301 | ] 302 | }, 303 | { 304 | "cell_type": "code", 305 | "execution_count": 11, 306 | "metadata": {}, 307 | "outputs": [ 308 | { 309 | "data": { 310 | "text/html": [ 311 | "
\n", 312 | "\n", 325 | "\n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | "
State0State1State2State3AveSimTimeAveOpeTimeaveRepTimeaveCorMaintavePreMaint
Case
40.0000270.0008190.0280320.97112287600.087597.6009552.3990450.002362.54559
40.0000480.0015150.0279620.97047587600.087595.8025814.1974190.004292.54249
\n", 379 | "
" 380 | ], 381 | "text/plain": [ 382 | " State0 State1 State2 State3 AveSimTime AveOpeTime \\\n", 383 | "Case \n", 384 | "4 0.000027 0.000819 0.028032 0.971122 87600.0 87597.600955 \n", 385 | "4 0.000048 0.001515 0.027962 0.970475 87600.0 87595.802581 \n", 386 | "\n", 387 | " aveRepTime aveCorMaint avePreMaint \n", 388 | "Case \n", 389 | "4 2.399045 0.00236 2.54559 \n", 390 | "4 4.197419 0.00429 2.54249 " 391 | ] 392 | }, 393 | "execution_count": 11, 394 | "metadata": {}, 395 | "output_type": "execute_result" 396 | } 397 | ], 398 | "source": [ 399 | "df = pd.DataFrame([res4a, res4b]).set_index('Case')\n", 400 | "df" 401 | ] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "execution_count": null, 406 | "metadata": {}, 407 | "outputs": [], 408 | "source": [] 409 | } 410 | ], 411 | "metadata": { 412 | "kernelspec": { 413 | "display_name": "Python 3", 414 | "language": "python", 415 | "name": "python3" 416 | }, 417 | "language_info": { 418 | "codemirror_mode": { 419 | "name": "ipython", 420 | "version": 3 421 | }, 422 | "file_extension": ".py", 423 | "mimetype": "text/x-python", 424 | "name": "python", 425 | "nbconvert_exporter": "python", 426 | "pygments_lexer": "ipython3", 427 | "version": "3.7.7" 428 | } 429 | }, 430 | "nbformat": 4, 431 | "nbformat_minor": 4 432 | } 433 | -------------------------------------------------------------------------------- /12_PreventiveMaintenance/12_05_ConditionBasedMaintenance/12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 12.5.2 Continuous monitoring and finite discrete state space\n", 8 | "\n", 9 | "This notebook is dedicated to an extension of the *Case 4* where the \"item\" it taken out of operation during the maintenance. This case is depicted figure 12.11.\n", 10 | "\n", 11 | "**NOTE:** In the following, states $0^R, 1^R$ and $2^R$ are respectively labeled states 4, 5 and 6. Transition labels have been changed accordingly. Resulting notations are provided through the scheme below.\n", 12 | "\n", 13 | "![](./../../images/Schema_12_05_02.png)\n" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 1, 19 | "metadata": {}, 20 | "outputs": [], 21 | "source": [ 22 | "import numpy as np\n", 23 | "import pandas as pd\n", 24 | "from scipy.interpolate import interp1d\n", 25 | "\n", 26 | "%matplotlib notebook\n", 27 | "import matplotlib.pyplot as plt" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 2, 33 | "metadata": {}, 34 | "outputs": [], 35 | "source": [ 36 | "def RandExp(rate):\n", 37 | " '''Draw random samples from an exponential distribution.\n", 38 | " If rate is null, output is set to infinity.'''\n", 39 | " if rate==0:\n", 40 | " return np.inf\n", 41 | " else:\n", 42 | " return np.random.exponential(scale=1/rate)" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 3, 48 | "metadata": {}, 49 | "outputs": [], 50 | "source": [ 51 | "def UpdateVar(horizonTime, currentTime, currentState, dT, nextState, \n", 52 | " timeState, transMatrix):\n", 53 | " '''Update system state and time spent in the different states and achieved transitions.'''\n", 54 | " currentTime = currentTime+dT\n", 55 | " flagSim = True\n", 56 | " if currentTime>=horizonTime:\n", 57 | " flagSim = False\n", 58 | " dT = dT-(currentTime-horizonTime)\n", 59 | " currentTime = currentTime+dT\n", 60 | " timeState[currentState] = timeState[currentState]+dT\n", 61 | " transMatrix[currentState,nextState] = transMatrix[currentState,nextState]+1\n", 62 | " currentState = nextState\n", 63 | " return (flagSim, currentTime, currentState, timeState, transMatrix)" 64 | ] 65 | }, 66 | { 67 | "cell_type": "code", 68 | "execution_count": 4, 69 | "metadata": {}, 70 | "outputs": [], 71 | "source": [ 72 | "def OneHistory(para):\n", 73 | " '''Simulate one history of the system until the simulation time horizon is reached.\n", 74 | " '''\n", 75 | " # Intial conditions\n", 76 | " currentState = 3\n", 77 | " currentTime = 0\n", 78 | " flagSim = True\n", 79 | " # Counters initialization\n", 80 | " nState = 7\n", 81 | " timeState = np.zeros(nState)\n", 82 | " transMatrix = np.zeros((nState, nState))\n", 83 | " while flagSim:\n", 84 | " if (currentState==6):\n", 85 | " dT = RandExp(rate=para['r63'])\n", 86 | " nextState = 3\n", 87 | " elif (currentState==5):\n", 88 | " dT = RandExp(rate=para['r53'])\n", 89 | " nextState = 3 \n", 90 | " elif (currentState==4):\n", 91 | " dT = RandExp(rate=para['r43'])\n", 92 | " nextState = 3 \n", 93 | " elif (currentState==3):\n", 94 | " dT = RandExp(rate=para['lambda32'])\n", 95 | " nextState = 2\n", 96 | " elif (currentState==2):\n", 97 | " dT26 = para['d26']\n", 98 | " dT21 = RandExp(rate=para['lambda21'])\n", 99 | " dT = np.min([dT26, dT21])\n", 100 | " if (dT==dT26):\n", 101 | " nextState = 6\n", 102 | " elif (dT==dT21):\n", 103 | " nextState = 1\n", 104 | " else:\n", 105 | " raise ValueError('Approximation error')\n", 106 | " elif (currentState==1):\n", 107 | " dT15 = para['d15']\n", 108 | " dT10 = RandExp(rate=para['lambda10'])\n", 109 | " dT = np.min([dT15, dT10])\n", 110 | " if (dT==dT15):\n", 111 | " nextState = 5\n", 112 | " elif (dT==dT10):\n", 113 | " nextState = 0\n", 114 | " else:\n", 115 | " raise ValueError('Approximation error')\n", 116 | " elif (currentState==0):\n", 117 | " dT = para['d04']\n", 118 | " nextState = 4\n", 119 | " else:\n", 120 | " raise ValueError('Unknown state')\n", 121 | " # Update variables\n", 122 | " (flagSim, currentTime, currentState, timeState, transMatrix) = UpdateVar(\n", 123 | " para['horizon'], currentTime, currentState, dT, nextState, timeState, transMatrix)\n", 124 | " return (timeState, transMatrix) " 125 | ] 126 | }, 127 | { 128 | "cell_type": "code", 129 | "execution_count": 5, 130 | "metadata": {}, 131 | "outputs": [], 132 | "source": [ 133 | "def NHistories(nbN, para):\n", 134 | " '''Simulate several histories and aggregate time spent in the different states and achieved\n", 135 | " transitions (Monté-carlo approach).\n", 136 | " '''\n", 137 | " # Simulate a first history to assess output shapes\n", 138 | " (timeStateOne, transMatrixOne) = OneHistory(para)\n", 139 | " timeState = np.empty((nbN, timeStateOne.shape[0]))\n", 140 | " transMatrix = np.empty((nbN, transMatrixOne.shape[0], transMatrixOne.shape[1]))\n", 141 | " # Main loop\n", 142 | " for id in range(nbN):\n", 143 | " (timeState[id,:], transMatrix[id,:,:]) = OneHistory(para)\n", 144 | " return (timeState, transMatrix)" 145 | ] 146 | }, 147 | { 148 | "cell_type": "code", 149 | "execution_count": 6, 150 | "metadata": {}, 151 | "outputs": [], 152 | "source": [ 153 | "# Parmeters\n", 154 | "nbHist = int(1e5)\n", 155 | "para = {\n", 156 | " 'horizon': 10*365*24,\n", 157 | " 'lambda32': 5e-3,\n", 158 | " 'lambda21': 2e-3,\n", 159 | " 'lambda10': 1e-3,\n", 160 | " 'd26': 168, \n", 161 | " 'd15': 336,\n", 162 | " 'd04': 504,\n", 163 | " 'r63': 1e-3,\n", 164 | " 'r53': 1e-3,\n", 165 | " 'r43': 1e-4}\n", 166 | "# Simulation\n", 167 | "(timeState, transMatrix) = NHistories(nbHist, para)\n", 168 | "# Get simulations results" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 7, 174 | "metadata": {}, 175 | "outputs": [ 176 | { 177 | "name": "stdout", 178 | "output_type": "stream", 179 | "text": [ 180 | "State 0 -> Probability: 0.01951\n", 181 | "State 1 -> Probability: 0.03884\n", 182 | "State 2 -> Probability: 0.06828\n", 183 | "State 3 -> Probability: 0.09570\n", 184 | "State 4 -> Probability: 0.34357\n", 185 | "State 5 -> Probability: 0.09595\n", 186 | "State 6 -> Probability: 0.33815\n", 187 | "Average simulated time (h): 87600.00\n", 188 | "Average operating time (h): 17766.83\n", 189 | "Average repairing time (h): 68124.50\n", 190 | "Average down time (h): 69833.17\n", 191 | "Average number of corrective maintenance: 3.38\n", 192 | "Average number of preventive maintenance: 38.44\n" 193 | ] 194 | } 195 | ], 196 | "source": [ 197 | "# Probability of each states\n", 198 | "res = {}\n", 199 | "for id in range(7):\n", 200 | " res['State{:d}'.format(id)] = np.mean(timeState[:, id]/np.sum(timeState[:, :], axis=1))\n", 201 | " print('State {:d} -> Probability: {:.5f}'.format(id, res['State{:d}'.format(id)], axis=1))\n", 202 | "# Average simulated time\n", 203 | "res['AveSimTime'] = np.mean(np.sum(timeState[:, :], axis=1))\n", 204 | "print('Average simulated time (h): {:.2f}'.format(res['AveSimTime']))\n", 205 | "# Average operating time\n", 206 | "res['AveOpeTime'] = np.mean(np.sum(timeState[:, [1, 2, 3]], axis=1))\n", 207 | "print('Average operating time (h): {:.2f}'.format(res['AveOpeTime']))\n", 208 | "# Average repairing time\n", 209 | "res['aveRepTime'] = np.mean(np.sum(timeState[:, [4, 5, 6]], axis=1))\n", 210 | "print('Average repairing time (h): {:.2f}'.format(res['aveRepTime']))\n", 211 | "# Average down time\n", 212 | "res['aveDownTime'] = np.mean(np.sum(timeState[:, [0, 4, 5, 6]], axis=1))\n", 213 | "print('Average down time (h): {:.2f}'.format(res['aveDownTime']))\n", 214 | "# Average number of corrective maintenance\n", 215 | "res['aveCorMaint'] = np.mean(transMatrix[:, 4, 3])\n", 216 | "print('Average number of corrective maintenance: {:.2f}'.format(res['aveCorMaint']))\n", 217 | "# Average number of preventive maintenance\n", 218 | "res['avePreMaint'] = np.mean(transMatrix[:, 6, 3])+np.mean(transMatrix[:, 5, 3]) \n", 219 | "print('Average number of preventive maintenance: {:.2f}'.format(res['avePreMaint']))" 220 | ] 221 | }, 222 | { 223 | "cell_type": "code", 224 | "execution_count": null, 225 | "metadata": {}, 226 | "outputs": [], 227 | "source": [] 228 | } 229 | ], 230 | "metadata": { 231 | "kernelspec": { 232 | "display_name": "Python 3", 233 | "language": "python", 234 | "name": "python3" 235 | }, 236 | "language_info": { 237 | "codemirror_mode": { 238 | "name": "ipython", 239 | "version": 3 240 | }, 241 | "file_extension": ".py", 242 | "mimetype": "text/x-python", 243 | "name": "python", 244 | "nbconvert_exporter": "python", 245 | "pygments_lexer": "ipython3", 246 | "version": "3.7.7" 247 | } 248 | }, 249 | "nbformat": 4, 250 | "nbformat_minor": 4 251 | } 252 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_02_SomeBasicConcepts/14_02_02_SurvivalTimes.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Survival times\n", 8 | "\n", 9 | "We denote the vector of survival times `survtime` and the status vector `status`" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "survtime<-c(17.88, 28.92, 33.00, 41.52, 42.12, 45.60)\n", 19 | "status<-c(1, 0, 1, 1, 1, 0)" 20 | ] 21 | }, 22 | { 23 | "cell_type": "markdown", 24 | "metadata": {}, 25 | "source": [ 26 | "## The Survival R Package\n", 27 | "\n", 28 | "The dataset is called `my.surv` and is prepared for further analysis by the function `Surv`" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 2, 34 | "metadata": {}, 35 | "outputs": [], 36 | "source": [ 37 | "library(survival) # Activate the package survival" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 3, 43 | "metadata": {}, 44 | "outputs": [ 45 | { 46 | "name": "stdout", 47 | "output_type": "stream", 48 | "text": [ 49 | "[1] 17.88 28.92+ 33.00 41.52 42.12 45.60+\n" 50 | ] 51 | } 52 | ], 53 | "source": [ 54 | "# Arrange and give the dataset a name\n", 55 | "my.surv<-Surv(survtime, status)\n", 56 | "# Display the dataset my.surv\n", 57 | "print(my.surv)" 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "execution_count": null, 63 | "metadata": {}, 64 | "outputs": [], 65 | "source": [] 66 | } 67 | ], 68 | "metadata": { 69 | "kernelspec": { 70 | "display_name": "R", 71 | "language": "R", 72 | "name": "ir" 73 | }, 74 | "language_info": { 75 | "codemirror_mode": "r", 76 | "file_extension": ".r", 77 | "mimetype": "text/x-r-source", 78 | "name": "R", 79 | "pygments_lexer": "r", 80 | "version": "3.6.1" 81 | } 82 | }, 83 | "nbformat": 4, 84 | "nbformat_minor": 2 85 | } 86 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_03_ExploratoryDataAnalysis/14_03_01_ACompleteDataset.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## A complete dataset\n", 8 | "\n", 9 | "A complete dataset of survival times (data loaded as a vector)" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "data": { 19 | "text/html": [ 20 | "
    \n", 21 | "\t
  1. 17.88
  2. \n", 22 | "\t
  3. 28.92
  4. \n", 23 | "\t
  5. 33
  6. \n", 24 | "\t
  7. 41.52
  8. \n", 25 | "\t
  9. 42.12
  10. \n", 26 | "\t
  11. 45.6
  12. \n", 27 | "\t
  13. 48.4
  14. \n", 28 | "\t
  15. 68.88
  16. \n", 29 | "\t
  17. 84.12
  18. \n", 30 | "\t
  19. 93.12
  20. \n", 31 | "\t
  21. 98.64
  22. \n", 32 | "\t
  23. 105.12
  24. \n", 33 | "\t
  25. 105.84
  26. \n", 34 | "\t
  27. 51.84
  28. \n", 35 | "\t
  29. 51.96
  30. \n", 36 | "\t
  31. 54.12
  32. \n", 37 | "\t
  33. 55.56
  34. \n", 38 | "\t
  35. 67.8
  36. \n", 39 | "\t
  37. 68.64
  38. \n", 40 | "\t
  39. 68.64
  40. \n", 41 | "\t
  41. 127.92
  42. \n", 42 | "\t
  43. 138.04
  44. \n", 43 | "
\n" 44 | ], 45 | "text/latex": [ 46 | "\\begin{enumerate*}\n", 47 | "\\item 17.88\n", 48 | "\\item 28.92\n", 49 | "\\item 33\n", 50 | "\\item 41.52\n", 51 | "\\item 42.12\n", 52 | "\\item 45.6\n", 53 | "\\item 48.4\n", 54 | "\\item 68.88\n", 55 | "\\item 84.12\n", 56 | "\\item 93.12\n", 57 | "\\item 98.64\n", 58 | "\\item 105.12\n", 59 | "\\item 105.84\n", 60 | "\\item 51.84\n", 61 | "\\item 51.96\n", 62 | "\\item 54.12\n", 63 | "\\item 55.56\n", 64 | "\\item 67.8\n", 65 | "\\item 68.64\n", 66 | "\\item 68.64\n", 67 | "\\item 127.92\n", 68 | "\\item 138.04\n", 69 | "\\end{enumerate*}\n" 70 | ], 71 | "text/markdown": [ 72 | "1. 17.88\n", 73 | "2. 28.92\n", 74 | "3. 33\n", 75 | "4. 41.52\n", 76 | "5. 42.12\n", 77 | "6. 45.6\n", 78 | "7. 48.4\n", 79 | "8. 68.88\n", 80 | "9. 84.12\n", 81 | "10. 93.12\n", 82 | "11. 98.64\n", 83 | "12. 105.12\n", 84 | "13. 105.84\n", 85 | "14. 51.84\n", 86 | "15. 51.96\n", 87 | "16. 54.12\n", 88 | "17. 55.56\n", 89 | "18. 67.8\n", 90 | "19. 68.64\n", 91 | "20. 68.64\n", 92 | "21. 127.92\n", 93 | "22. 138.04\n", 94 | "\n", 95 | "\n" 96 | ], 97 | "text/plain": [ 98 | " [1] 17.88 28.92 33.00 41.52 42.12 45.60 48.40 68.88 84.12 93.12\n", 99 | "[11] 98.64 105.12 105.84 51.84 51.96 54.12 55.56 67.80 68.64 68.64\n", 100 | "[21] 127.92 138.04" 101 | ] 102 | }, 103 | "metadata": {}, 104 | "output_type": "display_data" 105 | } 106 | ], 107 | "source": [ 108 | "survtime <-c(17.88, 28.92, 33, 41.52, 42.12, 45.6, 48.4,\n", 109 | " 68.88, 84.12, 93.12, 98.64, 105.12, 105.84,\n", 110 | " 51.84, 51.96, 54.12, 55.56, 67.8, 68.64, 68.64,\n", 111 | " 127.92, 138.04)\n", 112 | "survtime" 113 | ] 114 | }, 115 | { 116 | "cell_type": "code", 117 | "execution_count": 2, 118 | "metadata": {}, 119 | "outputs": [ 120 | { 121 | "name": "stdout", 122 | "output_type": "stream", 123 | "text": [ 124 | "survtime:\n", 125 | " [1] 17.88 28.92 33.00 41.52 42.12 45.60 48.40 68.88 84.12 93.12\n", 126 | "[11] 98.64 105.12 105.84 51.84 51.96 54.12 55.56 67.80 68.64 68.64\n", 127 | "[21] 127.92 138.04\n", 128 | "\n", 129 | "sort(survtime):\n", 130 | " [1] 17.88 28.92 33.00 41.52 42.12 45.60 48.40 51.84 51.96 54.12\n", 131 | "[11] 55.56 67.80 68.64 68.64 68.88 84.12 93.12 98.64 105.12 105.84\n", 132 | "[21] 127.92 138.04\n" 133 | ] 134 | } 135 | ], 136 | "source": [ 137 | "cat('survtime:\\n')\n", 138 | "print(survtime)\n", 139 | "cat('\\nsort(survtime):\\n')\n", 140 | "print(sort(survtime))" 141 | ] 142 | }, 143 | { 144 | "cell_type": "markdown", 145 | "metadata": {}, 146 | "source": [ 147 | "Statistics on the samples stored in the vector `survtime` are obtained, for example, through the following commands: " 148 | ] 149 | }, 150 | { 151 | "cell_type": "markdown", 152 | "metadata": {}, 153 | "source": [ 154 | "## Remark 14.1 An advise\n", 155 | "\n", 156 | "Data may be loaded from a txtfile through the command `read.table`. The output of this command is a dataset structured on columns. Columns labels are by default `Vi` where `i` is the column indice starting at 1. To apply a function on the first column `V1`, for example, the following command can be used:\n", 157 | "`survtime[, 1]`, `survtime[, 'V1']` or `survtime$V1`." 158 | ] 159 | }, 160 | { 161 | "cell_type": "code", 162 | "execution_count": 3, 163 | "metadata": {}, 164 | "outputs": [], 165 | "source": [ 166 | "survtime<-read.table(\"14_03_dataset.txt\", header=FALSE, dec=\".\")\n", 167 | "# survtime # To simply display the dataset" 168 | ] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": 4, 173 | "metadata": {}, 174 | "outputs": [ 175 | { 176 | "name": "stdout", 177 | "output_type": "stream", 178 | "text": [ 179 | "survtime:\n", 180 | " [1] 17.88 28.92 33.00 41.52 42.12 45.60 48.40 68.88 84.12 93.12\n", 181 | "[11] 98.64 105.12 105.84 51.84 51.96 54.12 55.56 67.80 68.64 68.64\n", 182 | "[21] 127.92 138.04\n", 183 | "\n", 184 | "sort(survtime):\n", 185 | " [1] 17.88 28.92 33.00 41.52 42.12 45.60 48.40 51.84 51.96 54.12\n", 186 | "[11] 55.56 67.80 68.64 68.64 68.88 84.12 93.12 98.64 105.12 105.84\n", 187 | "[21] 127.92 138.04\n" 188 | ] 189 | } 190 | ], 191 | "source": [ 192 | "cat('survtime:\\n')\n", 193 | "print(survtime[, 'V1'])\n", 194 | "cat('\\nsort(survtime):\\n')\n", 195 | "print(sort(survtime[, 'V1']))" 196 | ] 197 | } 198 | ], 199 | "metadata": { 200 | "kernelspec": { 201 | "display_name": "R", 202 | "language": "R", 203 | "name": "ir" 204 | }, 205 | "language_info": { 206 | "codemirror_mode": "r", 207 | "file_extension": ".r", 208 | "mimetype": "text/x-r-source", 209 | "name": "R", 210 | "pygments_lexer": "r", 211 | "version": "3.6.1" 212 | } 213 | }, 214 | "nbformat": 4, 215 | "nbformat_minor": 2 216 | } 217 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_03_ExploratoryDataAnalysis/14_03_02_SampleMetrics.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Sample metrics" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "# Data loading\n", 17 | "survtime<-read.table(\"14_03_dataset.txt\", header=FALSE, dec=\".\")" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [ 25 | { 26 | "data": { 27 | "text/plain": [ 28 | " V1 \n", 29 | " Min. : 17.88 \n", 30 | " 1st Qu.: 46.30 \n", 31 | " Median : 61.68 \n", 32 | " Mean : 68.08 \n", 33 | " 3rd Qu.: 90.87 \n", 34 | " Max. :138.04 " 35 | ] 36 | }, 37 | "metadata": {}, 38 | "output_type": "display_data" 39 | } 40 | ], 41 | "source": [ 42 | "# Data summary\n", 43 | "summary(survtime)" 44 | ] 45 | }, 46 | { 47 | "cell_type": "markdown", 48 | "metadata": {}, 49 | "source": [ 50 | "Above the command `summary`is applied to the whole dataset (here composed by a single column). The function can also be applied to a specific column throug commands: `summary(survtime[, 'V1'])`, `summary(survtime[, 1])` or `summary(survtime$V1)`. In the cells below, basic sample metrics are calculated, some of the functions (e.g. `var`) may be applied on an whole dataset while other ones (e.g. `sd`) require an array of samples and, therefore, the specification of column. For simplicity, functions are here always applied on a specified column. " 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": 3, 56 | "metadata": {}, 57 | "outputs": [ 58 | { 59 | "name": "stdout", 60 | "output_type": "stream", 61 | "text": [ 62 | "Min. : 17.88 \n", 63 | "1st Qu. : 46.3 \n", 64 | "Median : 61.68 \n", 65 | "Mean : 68.07636 \n", 66 | "3rd Qu. : 90.87 \n", 67 | "Max. : 138.04 \n", 68 | "\n", 69 | "Var. : 1024.949 \n", 70 | "S.Dev.* : 32.01483 \n", 71 | "S.Dev. : 32.01483 \n", 72 | "Inter Qu.: 44.57 \n" 73 | ] 74 | } 75 | ], 76 | "source": [ 77 | "# Sample metrics calculation\n", 78 | "cat('Min. : ', min((survtime[, 'V1'])), '\\n')\n", 79 | "cat('1st Qu. : ', quantile(survtime[, 'V1'], 0.25), '\\n')\n", 80 | "cat('Median : ', median(survtime[, 'V1']), '\\n')\n", 81 | "cat('Mean : ', mean(survtime[, 'V1']), '\\n')\n", 82 | "cat('3rd Qu. : ', quantile(survtime[, 'V1'], 0.75), '\\n')\n", 83 | "cat('Max. : ', max(survtime[, 'V1'], 0.75), '\\n')\n", 84 | "cat('\\n')\n", 85 | "cat('Var. : ', var(survtime[, 'V1']), '\\n')\n", 86 | "cat('S.Dev.* : ', sqrt(var(survtime[, 'V1'])), '\\n') # Standard deviation as the variance root square\n", 87 | "cat('S.Dev. : ', sd(survtime[, 'V1']), '\\n')\n", 88 | "cat('Inter Qu.: ', \n", 89 | " quantile(survtime[, 'V1'], 0.75, names = FALSE)\n", 90 | " -quantile(survtime[, 'V1'], 0.25, names = FALSE), '\\n')" 91 | ] 92 | }, 93 | { 94 | "cell_type": "markdown", 95 | "metadata": {}, 96 | "source": [ 97 | "Samples moments are available in the package **moments**, that is loaded with the command below:" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": 4, 103 | "metadata": {}, 104 | "outputs": [], 105 | "source": [ 106 | "library(moments)" 107 | ] 108 | }, 109 | { 110 | "cell_type": "markdown", 111 | "metadata": {}, 112 | "source": [ 113 | "Again commands below may be applied on a whole dataset or to a specified column. To be consistent with commands above, here these functions are explicitly applied on the single column of the loaded dataset. " 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 5, 119 | "metadata": {}, 120 | "outputs": [ 121 | { 122 | "name": "stdout", 123 | "output_type": "stream", 124 | "text": [ 125 | "3rd Order Mom (noncentral): 534022.7 \n", 126 | "3rd Order Mom (central) : 18720.53 \n", 127 | "skewness : 0.6117442 \n", 128 | "skewness* : 0.6117442 \n", 129 | "kurtosis : 2.555003 \n", 130 | "kurtosis* : 2.555003 \n" 131 | ] 132 | } 133 | ], 134 | "source": [ 135 | "# Moments calculation\n", 136 | "k <-3 # Choose the order of the moment\n", 137 | "cat('3rd Order Mom (noncentral): ', moment(survtime[, 'V1'], order=k, central=FALSE), '\\n')\n", 138 | "cat('3rd Order Mom (central) : ', moment(survtime[, 'V1'], order=k, central=TRUE), '\\n')\n", 139 | "cat('skewness : ', skewness(survtime[, 'V1']), '\\n')\n", 140 | "cat('skewness* : ', \n", 141 | " moment(survtime[, 'V1'], order=3, central=TRUE)/(moment(survtime[, 'V1'], order=2, central=TRUE)^(3/2)), '\\n')\n", 142 | "cat('kurtosis : ', kurtosis(survtime[, 'V1']), '\\n') \n", 143 | "cat('kurtosis* : ', \n", 144 | " moment(survtime[, 'V1'], order=4, central=TRUE)/(moment(survtime[, 'V1'], order=2, central=TRUE)^2), '\\n')\n", 145 | "#cat('kurtosis** : ', \n", 146 | "# moment(survtime[, 'V1'], order=4, central=TRUE)/(moment(survtime[, 'V1'], order=3, central=TRUE)^2)-3, '\\n')" 147 | ] 148 | }, 149 | { 150 | "cell_type": "markdown", 151 | "metadata": {}, 152 | "source": [ 153 | "# RESULTS AND FORMULAE ABOVE TO BE CHECKED!" 154 | ] 155 | } 156 | ], 157 | "metadata": { 158 | "kernelspec": { 159 | "display_name": "R", 160 | "language": "R", 161 | "name": "ir" 162 | }, 163 | "language_info": { 164 | "codemirror_mode": "r", 165 | "file_extension": ".r", 166 | "mimetype": "text/x-r-source", 167 | "name": "R", 168 | "pygments_lexer": "r", 169 | "version": "3.6.1" 170 | } 171 | }, 172 | "nbformat": 4, 173 | "nbformat_minor": 2 174 | } 175 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_03_ExploratoryDataAnalysis/14_03_04_DensityPlot.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Density plot" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dd2AU1RYG8JNseiBAACE0JaCG\novAQJSBFEQUCgiJFBATs2MWOBVAsKLZn99lQ7KjYCyCoKCggKIIKKopSlEDoCSk7b7Yk2U2Z\nnd25c8+U7/dHMtmdvfdssl92ZvbOHVIAwDDiLgDACRAkAAEQJAABECQAARAkAAEQJAABECQA\nARAkAAEQJAABECQAARAkAAEQJAABECQAARAkAAEQJAABECQAARAkAAEQJAABECQAARAkAAEQ\nJAABECQAARAkAAEQJAABECQAARAkAAEQJAABECQAARAkAAEQJAABECQAARAkAAEQJAABECQA\nARAkAAEQJAABECQAARAkAAEQJAABXBykj4koP4r156jrlxpoumRadmL6i5qPe4KoTvgtD1F6\nNDXGTPeTe4R8nq5ya2eiacqv6h0/fqJ+mRu4cZG6+Ept613qb2eJ8hnFfSOgfnYIkm5Gg/RQ\nTa/AcNWClN+ArtRfoQHCglSSSXRO4MYbiFL2BhYfI9oVvl55kJRjKdcr7GnwQZB0C77WStVv\nr8bS9ElEmZcs0XxcMEiVXVxMiZuiKDF65V1FE6R2s2b9UOXWyoAoE4myKm4cFlj6pVm1IC2Y\nNaueP0hzibTfpu0BQdLtt+eff95rIEjtiC6P8LiqQforgcZEUWEMyrsKPrnI1CANrn7rKKLX\nlMJ0StunfKC2uMp329Y4/5add/uKmxpQMEgh6ylKC3+QylpTdpm4J8QFQYpWzEHKIbo5wuOq\nBmkK0afRVxgNPc8mTM1Bet0fjRE0QlEOqm80d/puez6wZfc8Beyqsl55kJRbid4z/DzYuTJI\nP57eMK3b2xWv9gXjO6c2PX2+b/Hp3NzhZQ90SD1s+Hr/mt63+2enZJ88x7fVE3iVDw+8LJZN\nIPLs9K0ylKifjqaDj5umKCXP9Tk0uWWP//r+KZ9HdIK/X6KEal0oRY0pS/1nvSyeqKd67xXq\njU9oP7PQequ0PY2orTK38xHq92T/nktHotMrugpG+IHc3AsKr+6UdtQj3oPTD09pM3GLUuU3\nVHOQ9qX6ovGK/zDDuEC1ypmBLbuwIIWuVx6k9USn6PqzWZobg/RmHf9fdmTw1X5l8C99meJ/\ntbUZ6/8p5Uf1R+/pwfuO2Vf1Vf6p+uVldZXiukT/09F0RZAO9gjeePT+SEFS+5jku/dq9ad3\nlT+S1JW1N7/C6q0hSLOJDvtFvftt9efN6vfXqgZJLbhDoL6r+vq/Nd9V5TdUc5BCvaP+iylQ\nN9kyA8fs/lmyZMnM8iCFCQZJOZriq99pNy4M0sZk9c+aleF/aeT7/+7UbeIx6tfX/a82oris\nBPXrQHXVh9XvbU8/Tv16bvmr/KfFvjgs2VPahOgsdRX1x8QdOpr+aUkrorOXbFJuUn88sk9j\n9etttQSpvAvflt0LvnsPtCXqWDaeKO1X7acWVm/1IDVRX9uHKV389yrPEaXvr+iqMkhqL5mB\n3DT1BIoM+w1FDlJRXd+OkLKs8pid8r5mkC4kej/yn83iXBik0UR1P1TKZgZe7cVtiK5Tb72e\nKPugP0iD/1XyjyWqp944iPw7++qLp1G1HZjLiRqU+I/x5ulqunwfSd2iuiGwal4tQaro4nii\nX/ztfq7ut1+rbuDdX/kslj5dYWnFjWH1Vg8SNX/uh5+Ue9Wse/1bXqMruwoJ0nWlynT1W6uf\nlU3N1K2/Kk8jcpB8T22Cv79h5bdoB+lZ9clF/KtZnfuCVKpuIU33LZzkf7X/QBTv29fZpb4L\nLfb99X2bJcqLgbeUo9TXzht7lb3z5s0rrvoqV//j0ueK8p/gu0bEpoNB8j75xBNb1W/DiLpG\nCpL6SisKtHyJ/y2iW8jRrfLNLVXlJ01h9dYQpK98P/+lpnKFUtaI6J2agpRZGtjs+6/640Tf\n7k7409ARpDfVNzOvkhvyaax2kD5Tt4UjNGl97guSbx/B/zHIw/5X+xuVL0h1X2eab9tHNV/9\naZv/haRuufW541vfrknVQ2ptfP9It8VR8m5dTVcetfvrhcn91f/1kYOUQqnBlvceqt6UtDbk\nadQYpLB6qwepXmCt3r5dteXqj0U1Bek/6rd89dYP1O8X+YIU/jR0BOlAOtHKHfGVW3YRgrSK\n6MQITVqf+4LkG8Oy3bfwlv/Vfl/Iy+TawKEt1YJAkHaOiA/cc+SC6kG6mShHme3b+NHVdHmQ\nfjvJf0N65CAV+bfQAnxbi5Ud1Sas3upBahNY63GiY5UZRBOVmoKkVuUP0sdKMEjhT0NHkJQR\nRDNeDdmyixCkDYH02pv7gvSj+kdd41t4zP9qf03drVkS9FvVIKnvHg+clOh7BSVvrBakderC\nr2eFfgyj2XQwSMXq5lejSa/+cUt5kPr4HvBELe9IycGW8w9Rb/LoGJQWUm+VtsufmqJsT6C4\nrerb0ieKriCFPw09QVIf0WNC6Dg7vCM5UKH6T/su38Ig/6td/StSxVG3KkHaqb50vMqeub41\nH68+fqcz0X2NAh/S62g6GKSVFDiCcIb/JXshUTvffZdE2Eca7X8/aF9U2VpNm3bh9VZpuzJI\nSh7Rg4nUqETRFaTwp6EnSPtSydMwZMsuQpAWUeADWltzX5CUIerewUJF+S/5X+1F6t7K9eqt\nv3bMyVlRJUi/qV/fUn/am+wbDxbyKn/c39A9ROqDR/kWl0ybNm2XdtPBIPk+q12u7oR5/C/Z\nu9Wf3lB3z5OqBcnXxfFEP/t7mqfecJ+6zpTKZ1FTkMLrrdJ2SJBeJGoY/IiqvCuNIIU/jfIg\nBZ9xzfwfZ1Vu2UUI0nNE1+j5w1maC4P0fZz6Z20V+KwkP3CArucFp9Txfx5fZdOunfoa7Dyi\nr7pd5anYtFPUvZv/POLb7tvka8j/4ab/RfuHdtPBIP2t3pZ4XGffiscoyue+NZvW930NCVJ5\nF1OIZvt+3NlU3VbyvcgTVlY8i6+eqPBVxY1h9VZpOyRIe1N9N36uhHSlEaTwp1EepOAzrtlL\nvvZDzqDQDtJFThgj5MIg+XfcieIGBl7t3nHBf+zd86sFaf0h5f/1H698lff3/bzMt6TuZ1BG\noW+p/GWl0XT5wQb/kTXKHk/U4IB/v1yVPDo8SMEuPiW6yPejr5mvlPx6RJ2KNZ9ZWL1V2g4J\nkv+eZoFj6cGutIIU9jR0BWl3MoVu2UUIUmeKL9B8WnbgxiAp80+p33DA21937drV/9d9c1T7\nlENPecX3Gq0SJGXPf3tnp2Yefc5qpfJVvumMxgn1ViiBW+hsf4sVL6vamy4PUtHd7dK7TN69\nQl3lGXXT6t4u6ZlDV8/r2rVb9S6KGlPT0sDL0LeddCf5x+ppCa23StuhQXq7coMw2JVWkMKe\nRmiQaj/D49TwY4yaQfqV6GTtZ2UHrgySKPlxgY9bTDMlcGjNSioPNsz0aL89RhQM0nTfQELb\nQ5AM+IMo0+CLSdsmj28Yj6VUBKmsV2uDTQWC5G1LrXE+kpvt2tiP6EJz+5hEiX+a20O01CC1\nf/DBH5WVJ9KTRtpZ9OCDgTNk3w4ZY2VjCFLMfMfDPOvN7SO/AV1hbg/RKp+z4f7u8wy1UzFn\nQzfqhjkbXE0NUtx/ze5E1ixCutU8+Un0yoO0iOKWCSiLHYIUsydnPrWRuwawCgQJQAAECUAA\nBAlAAAQJQAAECUAABAlAAAQJQAAECUAABAlAAAQJQAAECUAABAlAAAQJQAAECUAABAlAAAQJ\nQAAECUAABAlAAAQJQAAECUAABAlAAAQJQAAECUAABAlAAAQJQAAECUAABAlAAAQJQAAECUAA\n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\nb5QvWqS0FHWzqX7Vgthrq6zKer8xfRwWpGYtA9+aM9dR7m76ds7Up/zXCLVIaUVFRcGNqJCC\n2GurrMp6vzF9nBWkMk9P//duiV7mSoLOpcbq/9q4i4qtVFpH/0s2pCBL1Baoypq/MR2cFaRt\nNMT/PY/ymSsJ6kXDv9/z5bE0w0qlBV6yIQVZorZgkCz5G9PBWUHaSkP93/NoC3MlQfM/9P03\n3d4gvcxCpQVesiEFWaK2YJAs+RvTwVlBKvP09n/P9Vjr0rZn0C8WKq18066iIEvUFgxSkLV+\nYzo4K0hKVrb/W6sWzHVUcSGttVBpwZdsSEFWqC08SNb6jengsCCNpA3q13U0iruQgA1NL/N/\n75FUYqHSgi/ZkIKsUFugKmv+xnRwWJAW0tnq17Ms8xneUSlL1a8v0EQrlRYMUkhBVqgtWJUl\nf2M6OCxI3gF00k0n0CDuOsotS0k4fVIvOmKnlUoLvmRDCrJCbcGqLPkb08FhQVIKp+Zm5Fpo\nnON3w1qkdZlywLdomdLK90ZCCrJAbeVVWfE3poPTggTAAkECEABBAhAAQQIQAEECEABBAhAA\nQQIQAEECEABBAhAAQQIQAEECEABBAhAAQQIQAEECEABBAhAAQQIQAEECEABBAhAAQQIQAEEC\nEABBAhAAQQIQAEECEABBAhAAQQIQAEECEABBAhAAQQIQAEECEABBAhAAQQIQAEECEABBAhAA\nQTJuBh1VEljKaWS8tUfIJzHnom2R1uypdbnvyjvPo33Gq4IIECTjZhDNDCxpBmnX5KPSDx+3\nscpiNY/QMWPHjh14CDXdHqHf6kHqTAtC75xHcxTdQXoseOnJFv4g080Vd4Tc8PuZbdI6XFOg\npzm3QZCMm0FxaRv9S1pB2p9NuRedEpe6ImyxukfoQd+3orF0dYR+hQZpf/tAkA7ENTvB55ny\nO0Ju+C3dc+pFx1L7vKDNBgAABXhJREFUQh3tuQ2CZNwMOj946W2tIN1K16lf348/KmyxumCQ\nlA10QoR+qwcpf9vB0Dv1B+mTmTkUCNIPdHv4XSE3jKAP1K8X0yMR23MfBMm4GTR/AM31LWkF\nqXvyft+3fvRP6GJ15UH6nfqrX1eNaJnccvj36tJ59UuntUrt+LTvvp+GNW8+YqOald5x6vbf\n/gT6zNd58n5/Ziru7OfbIstXg7Rnepf0Dk9rPYUUdc1AkN6kN8LvCrkhq53v62qaqNWUSyFI\nxs2gBb+nNt+jaAepU3//tzz6OXSxumCQyi6hp9S3pXpJp194rCdzixqkemePnP/hsfS6onxZ\nJ/7Es1s1PbSFcge9qSifEU1TlH+on//Np/LOTy6nC54vUm8c2vqqS+rSWxpPoaioKLhpdzd9\nO2fqU2sq76q8ofTm5303LKcLdf9q3ANBMk4NknInXa7oOWq3LfmQkuqLoR6h4yZMmDAsmy7y\nKsot9K5608P0om8LbbC6uIlGKd4u8e8oyr6+1EJZQZcpym2JmScpyht0ry9IIXdWbNodvUtR\nFtBY7co6BoJ0LjVW353iLiouvz38hrKdX/RIXBb5d+I6CJJxviAVd4hfHhqkr+YE/RW26s/Z\n9HT1xTCBw99EiVer238Lny5Tb/rE9yZ1Hi303d2gn/Itnelb+kHNirexup91Su6w9BLlMlrj\nC1LInRVB8m12liUN0K4tGKReNPz7PV8eSzPKbw+/4SKitE9j+i05HIJknC9IypK4LqUhQRob\njAPNC1lx942pSQ9UW6wiuGm3eiid5P9539f3tg8EabPvx0b9lDn0rP+epmpWzorbXpZxzUP0\njXJ0c/9xhdA7y4P0h++GOhVBqrG28iDN/1B9I1S2N0gvC94efsOHd9zVqcnyaH9DLoAgGecP\nkvp6fTDCpt07zShvbbXFqsoPNni70edKwWU58XE5pwSC5D/4pgZpFn3kX+MYNSuz6c1V9PZq\nmrUz7hz/OqF3lgdpr++GyiDVLBikoDPol/C7K2/Y3bjGo40uhyAZFwjSjsZ1/9YM0k2Uvbj6\nYjXlQVJ3u55SBtNZc3cpy8KD9Bo951+huZqVrXGXPUz/ehsMfcd3FEJdJ/TOsMPf0QXpQqqS\nc/WG7y/9zL/Yjw5oN+VGCJJxgSApL9AwrU275+m03dUXq6sI0jX06Z7EIb6lN8ODtJLO8i2t\nj/N9jtTpqDOPVJQhDa/y7PSvE3pnLUHS2rTb0PQy/089koIHQkJu+Jku8C8eGRY58EOQjAsG\nSelLiRVB+uL5oE3BG7xH1i2ovliDig9kM1vs2+7/oHfPsb4hSJVBUo6N/0BRCvN8xxOU6+Ia\nnqso91Gj7kpgnZA75/n3l6oFqVptfsF3pKNSliq+fwoTFaU4vyDsBm+rtHXq4rM0MqZfk7Mh\nSMaVB+mXZKp9024jNewXsD1ksYYVA4e/xw9Iq/OpopxA/W65uPHJiS2eDA3Skjrxp5zbto5/\nZMNC8m3LrSCargQyE3LnJ3TM7fuj3LRblpJw+qRedMRO3xHzzuE3vB+XcsbFvSkr4nBaF0KQ\njCsPkjJNI0gLy7en6O+QxRpWDB7+zpqwQf3h33Oa1zvhaWV292nleTjMN6zgp9NbNB323aPj\n1cWD6bReUUrrke/DncDIhoo7C09NydwZ7T7Sd8NapHWZ4tsLCgQp5Abl6wEt0jtNxqDVGiBI\nAAIgSAACIEgAAiBIAAIgSAACIEgAAiBIAAIgSAACIEgAAiBIAAIgSAACIEgAAiBIAAIgSAAC\nIEgAAiBIAAIgSAACIEgAAiBIAAIgSAACIEgAAiBIAAIgSAACIEgAAiBIAAIgSAACIEgAAiBI\nAAIgSAACIEgAAiBIAAL8H8N21GNgknJdAAAAAElFTkSuQmCC", 18 | "text/plain": [ 19 | "Plot with title “density.default(x = survtime[, \"V1\"])”" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | } 25 | ], 26 | "source": [ 27 | "survtime <-read.table(\"14_03_dataset.txt\", header=F, dec=\".\")\n", 28 | "d <- density(survtime[, 'V1']) # Returns the density data\n", 29 | "plot(d) # Plots the results" 30 | ] 31 | } 32 | ], 33 | "metadata": { 34 | "kernelspec": { 35 | "display_name": "R", 36 | "language": "R", 37 | "name": "ir" 38 | }, 39 | "language_info": { 40 | "codemirror_mode": "r", 41 | "file_extension": ".r", 42 | "mimetype": "text/x-r-source", 43 | "name": "R", 44 | "pygments_lexer": "r", 45 | "version": "3.6.1" 46 | } 47 | }, 48 | "nbformat": 4, 49 | "nbformat_minor": 2 50 | } 51 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_03_ExploratoryDataAnalysis/14_03_dataset.txt: -------------------------------------------------------------------------------- 1 | 17.88 2 | 28.92 3 | 33 4 | 41.52 5 | 42.12 6 | 45.6 7 | 48.4 8 | 68.88 9 | 84.12 10 | 93.12 11 | 98.64 12 | 105.12 13 | 105.84 14 | 51.84 15 | 51.96 16 | 54.12 17 | 55.56 18 | 67.8 19 | 68.64 20 | 68.64 21 | 127.92 22 | 138.04 23 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_04_ParameterEstimation/14_04_03_MethodOfMomentsEstimation.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Method of Moments Estimation" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 2, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "# Data loading\n", 17 | "survtime<-read.table(\"14_04_dataset.txt\", header=FALSE, dec=\".\")" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 3, 23 | "metadata": {}, 24 | "outputs": [ 25 | { 26 | "name": "stdout", 27 | "output_type": "stream", 28 | "text": [ 29 | "alpha : 4.736895 \n", 30 | "lambda : 0.06958208 \n" 31 | ] 32 | } 33 | ], 34 | "source": [ 35 | "# Estimation of alpha and lambda (Gamma distribution)\n", 36 | "a<-mean(survtime[, 'V1'])\n", 37 | "b<-mean(survtime[, 'V1']^2)\n", 38 | "lambda<-a/(b-a^2)\n", 39 | "alpha<-lambda*a\n", 40 | "# Display\n", 41 | "cat('alpha : ', alpha, '\\n')\n", 42 | "cat('lambda : ', lambda, '\\n')" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": null, 48 | "metadata": {}, 49 | "outputs": [], 50 | "source": [] 51 | } 52 | ], 53 | "metadata": { 54 | "kernelspec": { 55 | "display_name": "R", 56 | "language": "R", 57 | "name": "ir" 58 | }, 59 | "language_info": { 60 | "codemirror_mode": "r", 61 | "file_extension": ".r", 62 | "mimetype": "text/x-r-source", 63 | "name": "R", 64 | "pygments_lexer": "r", 65 | "version": "3.6.1" 66 | } 67 | }, 68 | "nbformat": 4, 69 | "nbformat_minor": 2 70 | } 71 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_04_ParameterEstimation/14_04_04_MaximumLikelihoodEstimation.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Maximum Likelihood Estimation" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "library(stats4)\n", 17 | "library(bbmle) # Activate the package bbmle" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [ 25 | { 26 | "name": "stderr", 27 | "output_type": "stream", 28 | "text": [ 29 | "Warning message in dbinom(mydata, size, prob, log = TRUE):\n", 30 | "“NaNs produced”Warning message in dbinom(mydata, size, prob, log = TRUE):\n", 31 | "“NaNs produced”Warning message in dbinom(mydata, size, prob, log = TRUE):\n", 32 | "“NaNs produced”Warning message in dbinom(mydata, size, prob, log = TRUE):\n", 33 | "“NaNs produced”Warning message in dbinom(mydata, size, prob, log = TRUE):\n", 34 | "“NaNs produced”" 35 | ] 36 | }, 37 | { 38 | "data": { 39 | "text/plain": [ 40 | "\n", 41 | "Call:\n", 42 | "mle2(minuslogl = myfunc, start = list(prob = 0.5), data = list(size = 40))\n", 43 | "\n", 44 | "Coefficients:\n", 45 | " prob \n", 46 | "0.125 \n", 47 | "\n", 48 | "Log-likelihood: -1.67 " 49 | ] 50 | }, 51 | "metadata": {}, 52 | "output_type": "display_data" 53 | } 54 | ], 55 | "source": [ 56 | "options(digits=3) # Set the precision of the output\n", 57 | "size<-40\n", 58 | "mydata<-c(5)\n", 59 | "myfunc<-function(size, prob){-sum(dbinom(mydata, size, prob, log=TRUE))}\n", 60 | "mle2(myfunc, start=list(prob=0.5), data=list(size=40))" 61 | ] 62 | }, 63 | { 64 | "cell_type": "code", 65 | "execution_count": null, 66 | "metadata": {}, 67 | "outputs": [], 68 | "source": [] 69 | } 70 | ], 71 | "metadata": { 72 | "kernelspec": { 73 | "display_name": "R", 74 | "language": "R", 75 | "name": "ir" 76 | }, 77 | "language_info": { 78 | "codemirror_mode": "r", 79 | "file_extension": ".r", 80 | "mimetype": "text/x-r-source", 81 | "name": "R", 82 | "pygments_lexer": "r", 83 | "version": "3.6.1" 84 | } 85 | }, 86 | "nbformat": 4, 87 | "nbformat_minor": 2 88 | } 89 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_04_ParameterEstimation/14_04_dataset.txt: -------------------------------------------------------------------------------- 1 | 17.88 2 | 28.92 3 | 33 4 | 41.52 5 | 42.12 6 | 45.6 7 | 48.4 8 | 68.88 9 | 84.12 10 | 93.12 11 | 98.64 12 | 105.12 13 | 105.84 14 | 51.84 15 | 51.96 16 | 54.12 17 | 55.56 18 | 67.8 19 | 68.64 20 | 68.64 21 | 127.92 22 | 138.04 23 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_05_TheKaplanMeierEstimate/14_05_02_TheKaplanMeierEstimatorForACensoredDataset.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## The Kaplan-Meier Estimator for a Censored Dataset" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "library(survival)" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 2, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "survtime<-c(31.7, 39.2, 57.5, 65.0, 65.8, 70, 0, 75.0, 75.2, \n", 26 | " 87.5, 88.3, 94.2, 101.7, 105.8, 109.2, 110.0, 130.0)\n", 27 | "status<-c(1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1)" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 3, 33 | "metadata": {}, 34 | "outputs": [ 35 | { 36 | "data": { 37 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC9FBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKD\ng4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyOjo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWW\nlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSmpqanp6eoqKip\nqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra4uLi5ubm6urq7u7u8\nvLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3O\nzs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g\n4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy\n8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+0N8ULAAAACXBIWXMA\nABJ0AAASdAHeZh94AAAgAElEQVR4nO3deYAV5Zmo8ReaFkRW92bRBIwCbq2Y0CASJajQIBJR\nDALRjIpLrruJK8EwyejovY6aRGc0YxInudEkaMxcAwiZUTRKXAZRgwqGJEC0A4Iga3f9c8/p\n00s1FnWq6rxffbU8vz/6lFDnfB90P9Jd5z3d4gComNjeAJAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJC\nAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqAghpBeWwakymvhP8rNh/SyACnzcugP\nc/MhPS87jK8BKNohz4e+DyEBeyAkQAEhAQoICVBASIACQgIUEBKgIP6QmhrWNpY7h5CQMjGH\ntGRG/2qRqgHnL/E9jZCQMrGGtG28SL8R9fV1A0Umbfc5kZCQMrGGNEfGv1o6WjFd5vmcSEhI\nmVhDqhuyq/WwacwonxMJCSkTa0i9Lmw/vqWXz4mEhJSJNaSRQ3e3HY8d6XMiISFlYg1prkxc\nXjpaOUvu8DmRkJAy8V61qxc5bPTks8cMEpnAVTtkSMzPIy2eXlMlUlUzbZHvaYSElIl/sqFx\n/TomG5A1zNoBCggJUGArpI21tXv8SuPiBW3u3WtICy4perBwzoPJO/qT46xt3v9aJ9FHHyi8\nA9GRrZAaZM9HWXVQ3zbdZcte7jeo+TsfVRfOqU7cUeepjjOvef/F8afkHlVfr/AOREe2Qtq5\ncKHP7z4oHyusEbdrp9jeQTCXfsf2DjIomV8jERJShpD0XPwl2zuANYSk58R+tncAawhJzwk1\ntncQzAebbO8ggwhJT1pCOu9G2zvIoFhD6tOBz4mEZNKUa23vIINiDen7w0SGHdPK50RCMomQ\nDIj3U7utQ8Tv1RNt0hnS2KNs7yAYQjIg5q+R/inLIaXleSRCMiDmkP5fN0KyjskGA7hqpyct\nIcEAQtLDZEOOEZIeJhtyjJD0pOXyN5MNBhCSnrSExGSDAYSkJy0hcfnbAELSQ0g5Rkh6mGzI\nMULSk5bnkQjJAELSk5aQipMNW94reL/JcR+hAoSkJy0hFZ3Z/H2PftrhCBUgJD1pmmz4qPjv\n0Hu7OxyhAoSkh8mGHCMkPWm5/O2lafhK21tIN0LSk+aQGuV3treQboSkh5ByjJD0EFKOEZKe\ntEw2eCGkChGSnjQ9j7Snps7P2d5CuhGSnjSH5Pz3Lts7SDdC0pPqkFAZQtKTpskGKCMkPUw2\n5Bgh6Tmh550BvGZ7m56YbKgQIemZ0Gd4eftfanubnrj8XSFC0hPoYsPMS4zvIwpCqhAh6SGk\nHCMkPT+4LcBJhJRNhBSzhIbEZEOFCClmCQ2JyYYKEVLMkhoSKkNIeta8FeAkQsomQtJz3TkB\nTiKkbCIkPWm+/M1kQ4UISU+aQ+Lyd4UISQ8h5Rgh6SGkHCMkPUw25BghxSyhITVPNvz150Vr\nnKQdzd9h4W8kJEKKWUJDap5suKtv0R1O0o46/aeFv5CQCClmSQ0pyXo+ZXsH5RGSHiYbDCGk\nqNIZEpMNhvTlU7uI0hlSmi9/J9ryFEymE5IeQsoxQtJDSDlGSHoIKccISU+aJxsS7YSXbO+g\nPEKKGSGFx+XvqAgJLoQUFSHBhZCiSmdITDYYQkhRpTMkJhsMYbIhqnSGxOVvQ5hsiIqQkDKE\npIeQcoyQ9BBSjhGSHiYbDGGyIap0hhQIIYXH5e+oshzSkNmm/Mz2n80UQooqwyE9Zayj4ybZ\n/rOZQkhRpTOkQJMN5txASBYRkp5Akw3mZDckJhuiSmdIgS5/m5PdkJhsiIqQIshuSGlASHoI\nKccISQ8h5Rgh6Qk02WBOdkNisiGqdIZkWXZD4vJ3VIQUASHZREiZQUg2EZIeJhsMIaSo0hkS\nkw2GMNkQVTpD4vK3IUw2REVIEWQ3pDQgJD2ElGOEpIeQcoyQ9DDZYMjwQQXHfug4Oz/vd2QV\nIWVGdkN6+qGCHxWvOPzM98gmQsqM7IaUBoSUGfkOqXHEKqvrE5IeJhssivKBbHt9QvLGZINF\nhOQlnSFx+dsiQvJCSBEQUtrWJyRvhGTRzk4vWl2fkPQQkk2L7T6TREh6mGzIMULKDEKyyUpI\nu15f7X8CIUVASDbFG9KWf5oy/QXnrSNFBv/e7zxCiiDfIeVqsmHjEBHptWxwzxnTuu37J58T\n0xnS+3fdWfDbskeG5DukXF3+vk6+teal2n26vek4L3S+2OfEdIb025OGF9xU9sgQQkrb+pFD\nGnJy4c3vZUbx+MyhPiemMyTLCClt60cOqfvswputcmvx+MruPidmOKS16009MiGlbf3o/yKN\nLrx5SWYWjyfm9F+kiy439cg39B4e0H+Y2oJFuZpsuE7mrX/1xC77/tFxllX9g8+JGQ7J3E81\nf+vOgIZda2oLNuVpsmHjkSLS84XP9LloRvduq31OJCSTpmQyJMvifR7p429POneps/yzIp9Z\n6nceIZlESAZYmWzY+fI7/icQkkmEZACzdjG7+Q7bO8hmSLmabAgswyElQCZDytXlb5eNtbV7\n/MqGK2e3OYWQDCKkhKyvEVKD7PkohBQXQkrI+hoh7Vy40Od3M/ypnbnJhsAIKSHr8zVSBcxN\nNgSWyZByNdnQrKlhbWO5czIcEpe/DcnTZIPjLJnRv1qkasD5S3xPIySTshmSZbGGtG28SL8R\n9fV1A0Umbfc5kZBMIiQDYg1pjox/tXS0YrrM8zmRkEwiJANiDaluSNvnsU1jRvmcmOGQmGww\nI1eTDb0ubD++pZfPiRkOKQEyGVKuLn+PHLq77XjsSJ8TCckkQkrI+pFDmisTl5eOVs4Sv09x\nCMkkQkrI+tGv2tWLHDZ68tljBolMyOlVOyYbzMhVSI6zeHpNlUhVzbRFvqdlOCQmG8zI32RD\n4/p1TDZYlcmQcjbZEBAhmZTNkCwjpJgRUjYRUswIKZsIKWZMNpiRq8mGwDIcUgJkMqScXf4O\niJBMIqSErE9I6UZICVmfkCrAZIMZhOQlwyEx2WBG/iYbgshwSFz+NoTJBg+EZFI2Q7KMkGJG\nSNlESDEjpGwipJgx2WAGkw1eMhxSAmQyJC5/eyEkkwgpIesTUroRUkLWJ6QKJGCy4Vzx0O1N\n29uqDCF5yXBICZhs+POCT/ut/M72tirDZIOXDIeUgMvfXhrTHhKTDV4IKW7pD8kyQooZIWUT\nIcWMkLKJkGKWgMkGL6kPickGLxkOKaFSHxKXv70QUtwIycL6hJQ9hGRhfUKqQAImG7wQkoX1\nCakCCZhs8JL6kJhs8JLhkLj8bQiTDR4IKW7pD8kyQooZIWUTIcWMkLKJkGLGZIMZTDZ4yXBI\nCZX6kLj87SXTITWcNa5geqP+UQVSH9KuziLVy+ytT0ix2zrnmwV3GTiqQOpDcv6wYMGzFq+A\nE1JmrHmjgjunPyTLCCkzvjG5gjsTUoUIKTNumFTBnQmpQoSUGYRkEyFlBiHZREiZQUg2EVJm\nPHJLBXcmpAoREooIqUKEhCJCqhAhoYiQKkRImcFkg02ElBlMNthESJnB5W+bCCkzCMkmQsoM\nQrKJkDKDkGwipMxgssEmQkIRIVWIkFDUKD99L7FW2/7bCYCQUNTUQxJsoe2/nvIIKTMqmmxw\ntmxIrh5Paf0dmUNImVHRZEOi9SSkiAgpgooufycaIUVFSBEQkk2ElBmEZBMhZQYh2URImVHR\nZEOiEVJUhAQXQoqKkOBCSFERElwIKSpCiqCyyYYkI6SoCCkCJhtsIqTM4PK3TYSUGYRkEyFl\nBiHZREiZQUg2EVJmMNlgEyEh8fIQ0qOb9PbSjpDgkoeQpNs5P/9EbzstCAkueQjpe1/sLD1m\nPr1Tb0dFhBQBkw02Vf410roHCi3tf+mzjVpbcggpEiYbbFK52LDugTGdpeaaF1V2VERIEXD5\n2yadq3avzf1s8duPHfWkxpYcQoqEkGyqPKRdz15zuMihlz3zyvU9Oj2rsytCioCQbKo0pCdm\n9RUZfP3zTcX/eEWu1NkVIUVASDZVfPlbjpv7eut/bDrwbo09EVIkTDbYVGlI97ynt5d2hASX\nPITUsL3lYOsGlf2UEBJc8hCSPNpy8O0DVPZTQkhwyXxIjz32mMx+rNkPh+8b/AH+tqxMJ4QU\nwZqlxZ8ltLtwtOk9/6MddjcaWuZD6vAzbII8r/7+Rfc6ztJjRDqNf9/vPEKK4NvN74YfFo6m\nlDlK21WJzIc0f/58uXp+yTPb/e5S8s4BcrfzZtfOZ15xqhzc4HMiIUWwa1Xxh9sVJ7W2vOd7\ndPq1djcaWuZDKhj3TIg7nls1v/A/xKris7ZP+D7lREgmTSEkfRWFtHDhji3tyt/xkLMLb/pP\nbD4eN8znREIyiZAMqPBrpPWuL5LK33G/GYU3B1/SfDy7p8+JhGTSpd+xvYOQMh9SbW3DJe3K\n37Gu5iPHOau2eNh4zCifEwkJLpkPKayfyxeWOq/1nNPobPtfcpvPiYQEl6yHtLujAPf8ThcZ\neMpgOeikXnKy39dUhASXrIckHQW5619uH9qzcOr+p//StztCMukDI9+wxqCshzSzo6B337ym\n7FNOhGTSeTfa3kFIWQ/JHEIyicvfBsT6PFJghGQSIRkQ6/NILhtra/f4lVUH9W3TXTaH3hWC\nIiQDYn0eyaXhU+E1Ll7Q5hr+RTKIkAyw9TXSzoULfX6XT+1MYrLBgMpDanrtie/9ZpXWfkoI\nCS65CGnJic1fIJ31ZtB7NzWsLftNWQkJLnkI6Y3uMumBX94/QQ75a5C7LpnRv1qkasD5S3xP\nIyS45CGkszv9R/PtYzKr/B23jRfpN6K+vm6gyCS/Z2UJySQmGwyoNKR+X2w5OHVQ+TvOkfGv\nlo5WTJd5PicSkklMNhhQaUj9v9Zy8A+HlL9j3ZBdrYdNY3gZhS1c/jag0pDOG1r60Ujbj5ha\n/o69Lmw/vqWXz4mEZBIhGVBpSMv7Ti1+P6D3JnUL8ENdRg5tn/keO9LnREIyiZAMqCSkcUVH\nStURowd3llE/KH/HuTJxeelo5Sy5w+dEQjKJkAyoJKQDO7ig/B231YscNnry2WMGiUzgqp0t\nTDYYEPOI0OLpNVUiVTXTFvmeRkhwyVVID80NeO/G9euYbEAYuQhp7U/uLbqrv9/l7LAICS55\nCOm1/VtejVT9Y71NEZJRTDYYUGlIU6vuf2boGS8+cdLpensiJLOYbDCg4smGLzjO3UMdZ9MB\nj6jtiZDM4vK3AZWGtM/ljvN8p48c54rT9DZFSEYRkgEV/4s01XG2dP6F49zWW29ThGQUIRlQ\naUjndP11o3PUBY7zpQF6myIkowjJgEpDerW3POxcJZPrJdw3P/FHSCYx2WBAxc8jrbx9kbNx\nUrWc9oHanggJHeQipJLNfj/IMjxCgks+QuK7CMGwXIQU+rsIBUFIJjHZYEDM30UoIEIyickG\nA2L9LkKBEZJJXP42INbvIhQYIZlESAbE+l2EAiMkkwjJgFi/i1BghGQSIRkQ63cRCoyQTGKy\nwYBYv4tQYIQEl55Tv1netzR/ZGR4sX4XocAICS6zx5U3VpZa3SM/jBmZEOUD2fb6e4a05Y/a\nT5UTkkmpm2wIIvUhbZ5bIyKHzlH9yCckk1I32RBE2kP6ZJj0O+fr5w6Qo7fpbYqQjErd5e8g\n0h7SjXL7jsLNztvlJrU9EZJZhJSQ9d0hnfD5loMRw1X2U0JIJhFSQtZ3h7Tf7JaDK3qo7KeE\nkEz6cv+Gwjv+84MKjutwlGZpD+mYU1oOTj1OZT8lhGTSKz8q/uDEnz5UsMdRiqU9pCvl/ubb\nH8jXlXZUREgIKe0hbTxcjrvqH686Xg7fqLcpQkJYaQ/JWTu7WkS6XKr5AllCQlipD8lxdq5c\nsnKn0nZaEFLcmoavtL2FyqQ8pL8+aGT7hBS3Rvmd7S1UJuUhLRHN1/O1IaS4EZKF9V0h7Tj6\nwA8Vd9OKkOJGSBbWd3+N9NFZw598f/OWIr1NEVLsCMnC+u6QDj1YWultipBi19T5OdtbqEza\nQ7qknd6mCCl+/81kQ+zr8wpZJE4GQvrj0w899bbSdloQEkJKfUgvjW3+AunUZWpbcggJoaU9\npJW9u136r7+6r176vKu3KUKKHZMNFtZ3hzT1oFJAP+t0ntKOiggpblz+trC+O6QBd7ccjB2o\nsp8SQoobIVlYv0NIj7ccXFyjsp8SQoobIVlY3x3SzItKt9s/92WdDTUjpLgRkoX13SG92fu6\n4o8zf/es/bnYkGZMNlhYv8Nkw6nSZXDd4Z1lwKlFSrsipNgx2RD/+h1m7TpS2hUhIaS0h2QG\nISEkQvJCSAiJkLwQUtyYbLCwPiFlD5e/LaxPSNlDSBbWJ6TsISQL6xNS9hCShfVbQ9rdkeKu\nCCluTDZYWL81JOlIcVeEFDsmG+JfvzWZmR0p7oqQEFKaQzKHkBBSZkJ6aG7Fe2lHSAgp9SGt\n/cm9RXf1H6W2J0KKH5MNFtZ3h/Ta/i2XGqp/rLcpQoodl78trN/hm59U3f/M0DNefOKk0/X2\nREjxIyQL67tD6v8Fx7l7qONsOuARtT0RUvwIycL67pD2udxxnu/0keNccZrepggpdoRkYf0O\n/yJNdZwtnX/hOLf11tsUIcWOyQYL67tDOqfrrxudoy5wnC8N0NsUIcWPyYb413eH9Gpvedi5\nSibXCz/WBRalPSRn5e2LnI2TquW0D9T2REgILfUhlWxuUNhLO0JCSGkP6Ztv6O2lHSHFjckG\nC+u7QxIZ/i+an9SVEFLcuPxtYX13SP/33O7SZdLPt+ntqIiQ4kZIFtbv+DXS1sen7Sd9Zqs+\nDUFIcSMkC+t/6mLDJ098pYcMUtlPCSHFralLVfED4cTi/HHijk54qfwfIBMhOX+6byQvNU+3\n1xcXn5F9a0FB4o56PlV+/xkIafm84SK9L3xaaUdFhASXPIT03A2DRXrN+vUOvS05hIQO8hBS\noaKZT23X208JIcElDyFdMF+9IoeQ0EHf/yx/TqpDWrhwx5Z2irsiJLgsDzCZnuqQRNbzDSKR\nCKkOqba24ZJ2irsiJISU6pCMISSElPaQmP6GcXmYbIg2/f1wmck8QoJLHi5/R5v+lsv9f5+Q\n4JKHkEJNfz/dSiYU3vicSEhwyUdITvDp78A/T4mQ4JKbkIJOf/9oP7nwziIZUXjjcyIhwSXz\nkw0lIaa/3z6u+yPNj8DXSAgu85MNTujp721XyFc2ERLUpT2k0NPfT/Qe9HtCgra0hxR++nv1\niOq7CQnKUh7SXx8Mf/edN3YiJISQg8mGJTI1wqKL7lngfwIhwSUHl793HH3gh4q7aUVIcMlB\nSM5HZw1/8v3NvLAPBuUhpEMPjvbCvo21tXv8SuPiBW2uISS0y0NIUV/Y1/Cp8FYd1LdNd9kc\nelfIrJxMNkSyc+FCn9/lUzu45GGywQxCQkhpD2lmm3sC3rupYW1juXMICSGlPaS2Sw2HXRrk\nrktm9K8WqRpw/hLf0wgJIaU9pO1F2/48f/iYreXvuG28SL8R9fV1A0Um+Y0WERJccjDZ0Gbz\nEdeWv+McGf9q6WjFdJnncyIhwSUPl7/b3Niv/B3rhrRdfmkaM8rnREKCS65Cumbf8nfsdWH7\n8S29fE4kJLjkKKSmJb2OK3/HkUN3tx2PHelzIiHBJQ8h9SjZR+RH5e84VyYuLx2tnCV3+JxI\nSHDJw2TDpBYXPhngjtvqRQ4bPfnsMYNEJnDVDgEx2fApi6fXVIlU1Uxb5HsaISGkTIT058f/\nK8CzSC0a169jsgHaUh1S031n3lW4ebCrSP8XNXdFSAgpzSE1TZRO33WcZVUH3DS7a8+/K+6K\nkOCS9cmGn8mUDYWbi+Q5x/mN3Ka4K0KCS9Yvf4/dv/jyu6aDBhT/48iT9TZFSHDLekiHTym+\nfUXOK96cFWBEKDBCgkvWQ9r3suLbu+Sh4s3U7nqbIiS4ZT2koyYU354s7xZvaofpbYqQ4Jb1\nyYbzqt9xnJfkM8Xj/+l8juKuCAkuWZ9seKXTgId+Vdt8ue6dWvkvxV0REkLaVSWxuHkv61f0\nhOwD+xQe+ciNzoZjq2V21L8BL4SEsF5dEIczLtrL8pWNCL35L1c/sMVx1vcZE2D2OwRCQjJd\nZCYkUwgJLkEmG2JCSEivIJe/Y0JISC9CioqQ4EJIURESXAgpKkKCS5DJhpgQEtIryGRDTAgJ\nUEBIgAJCAhQQEtKLyYaoCAkuXP6OipDgQkhRERJcCCkqQoILIUVFSHBhsiEqQoILkw1RERKS\niZAABYQEKCAkpBeTDVEREly4/B0VIcGFkKIiJLgQUlSEBBdCioqQ4MJkQ1SEBBcmG6IiJCQT\nIQEKCAlQQEhILyYboiIkuHD5OypCggshRUVIcCGkqAgJLoQUFSHBhcmGqAgJLkw2REVISCZC\nAhQQEqCAkJBeTDZERUhw4fJ3VIQEF0KKipDgQkhRERJcCCkqQoILkw1RERJcmGyIipCQTIQE\nKCAkQAEhIb2YbIiKkODC5e+oCAkuhBQVIcGFkKIiJLgQUlSEBBcmG6IiJLgw2RAVISGZCAlQ\nQEiAAkJCejHZEBUhwYXL31ERElwIKSpCggshRUVIcCGkqAgJLkw2REVIcFm+y/n7soI/bCv8\nx96OlseyFUJCqs2Uovv9jv4Qxz4ICam2a0ORz9EHnV6MYx+EhIxbHMtkKyEBCggJUEBIgAJC\nQrY1jlgVxzKEhGyL8oEcASEh2/IW0vq3W65SfvgXn7MICSHlK6SXjxE55JHmw3F+j0JICClX\nIa3at/O4+q5yb/GYkKBpZ54mG2Z0+k3hk7tB+6xwCAnK8jTZMPjM4tu3u010CAmplIyQul/R\nfHOTLCEkpFIyQhpW13yzqWbQJkJCGiUjpGvkm1uLt/NlykZCgqZcTTZs/Kx0bf4y6WbpeQAh\nQVGuLn87W24feXzzwb8fKYQERfkKqV3T6oU+v0tICCmvIfkjJIRESF4ICSHlarLBZWNt7R6/\nsuHK2W1OISSElKfJBpeGT11sICQkX+JC2rmQiw1In8SF5I+QkEwJCqmpYW1juXMICSHlarLB\ncZbM6F8tUjXg/CW+pxESQsrV5e9t40X6jaivrxsoMmm7z4mEhJByFdIcGf9q6WjFdJnncyIh\nIaRchVQ3pO1af9OYUT4nEhJCylVIvS5sP76ll8+JhISQcjXZMHLo7rbjsSN9TiQkhJWnyYa5\nMrHl56qtnCV3+JxISEimZIS0rV7ksNGTzx4zSGQCV+2QPskIqfDv7/SaKpGqmmmLfE8jJCRT\nUkIqaFy/jskGaMvZZENAhISQcnX5OzBCQkiE5IWQEBIheSEkhERIXggJIeVqsiEwQkJYeZps\nCIyQkEyEBCggJEABISHbmGzwQkgIicvfXggJIRGSF0JCSITkhZAQEiF5ISSExGSDF0JCWEw2\neCAkJBMhAQoICVBASMg2Jhu8EBJC4vK3F0JCSITkhZAQEiF5ISSEREheCAkhMdnghZAQFpMN\nHggJyURIgAJCAhQQErKNyQYvhISQuPzthZAQEiF5ISSEREheCAkhEZIXQkJITDZ4ISSExWSD\nB0JCMhESoICQAAWEhGxjssELISEkLn97ISSEREheCAkhEZIXQkJIhOSFkBASkw1eCAlhMdng\ngZCQTIQEKCAkQAEhIduYbPBCSAiJy99eCAkhEZIXQkJIhOSFkBASIXkhJITEZIMXQkJYTDZ4\nICQkEyEBCggJUEBIyDYmG7wQEkLi8rcXQkJIhOSFkBASIXkhJIRESF4ICSEx2eCFkBAWkw0e\nCAnJREiAAkICFBASso3JBi+EhJC4/O2FkBASIXkhJIRESF4ICSERkhdCQkhMNnghJITFZIMH\nQkIyERKggJAABYSEbGOywQshISQuf3shJIRESF4ICSERkhdCQkiE5IWQEBKTDV4ICWEx2eCB\nkJBMCQqpqWFtY7lzCAnJlJSQlszoXy1SNeD8Jb6nERKSKRkhbRsv0m9EfX3dQJFJ231OJCSE\nlKvJhjky/tXS0YrpMs/nREJCSLm6/F03pO3KStOYUT4nEhJCylVIvS5sP76ll8+JhISQchXS\nyKG7247HjvQ5kZAQUq5CmisTl5eOVs6SO3xOJCSElKvJhm31IoeNnnz2mEEiE7hqB035mmxY\nPL2mSqSqZtoi39MICcmUlJAKGtevY7IBKZWgkIIgJCQTIQEKEhfSxtraPX5l1UF923SXLQpr\nANouvngvv2ErpAbZ81EaFy9oc6/sUFgD0LZ27V5+w1ZIOxcu9Pnd5wkJ6ZLMr5EICSmTzBf2\nERJSJpkv7CMkpEwyX9hHSEiZZL6wj5CQMsl8YR8hIWWS+cI+QkLKJPOFfYSElEnmC/sICSmT\nzBf2ERJSJpkv7CMkpEwyX9hHSEgZZu0ABYQEKCAkQAEhAQoICVBASIACQgIUEBKgIJkhvSxA\nyrwc+sPcfEjOa8v2YvyYnxh2p3zP9BIn1Jte4Vb5seklPjfN9ArX7Gd6hZ8cevPePtBCey38\nR3kMIe3VXr/TpZoV8jfTS0y6wfQKv5OyY1iVGvld0yv8sq/pFZzP/avxJXwQUoUIKRBCMoiQ\nAiGkYAjJHEIKhpAqRkgVIqRACMkgQgqEkIIhJHMIKRhCqhghVYiQAiEkgwgpEEIKhpDMIaRg\nCKliNr/enJIAAAaUSURBVEOaPdv0Cu902mB6iXNuMb3CC9VNppf44j2mV3j6ENMrOEc/anwJ\nHzZD2mD8o9x5z/gKH2w2vULTKtMrOGs/Mb3C7vdNr+Cs2Wl8CR82QwIyg5AABYQEKCAkQAEh\nAQoICVBASIACQgIUEBKggJAABYQEKCAkQAEhAQoICVBASIACQgIU2Atp+7dH9Rp1x3Yjj/3R\ndcfu97lZq00v86g8bXKJx0/uUTPtXZMrbLx+WPdhN3xkbInv9ynduh5ceZ3WFWJ6j++dvZAm\nypCvHikTTDz01kFSd/kZnfZdZnaZt/crhWRoie9KzQWTqw74k7kVPj5KRl06SoZsNbTE1mEt\nH+auB9ddp3WFmN7jPqyFtFgm7nZ2nSlLDDz2HPlG4e3TnY81usy246U5JENL/KXLFwr/VPxK\nvmbuDzFP7nCKf1t3GlnimbuGSOnD3PXgquu0rxDPe9yPtZCmy/LC21dkpoHHHtm1+P9YZ5z8\nzeQyV3T/anNIhpa4XZYWb+6+19zf1SRZV3i7Rr5sZIluIi0f5q4HV12nfYV43uN+rIXUb2Dp\npr+Bxz7+zOabennb4DJPyCN3NodkaImhA9sOTf0hpkrxJ2q9JF8xssT27dtbPvFyPbjqOu0r\nxPIe92UrpMaq0c23I8x9r6n1XQ/eZW6Z1X2+4jSHZGqJnqe8PvmQAee8ZfDv6vmeJy775OXa\nni+YWuKY5g9z14Orr3NMH9d/mH2P+7MV0nqZ3HxbLw2GVnh7kDxsbpmdIwZtKoVkaInNMrjn\n8RdPqOq61ODf1QtdCp8c7fOysT9E6cPc9eDq67hDMvseL8NWSOvk7Obbellr5PE33bzvPv/H\n4DI3Vv/eKYVkaIk1IrcX/p/6bOdjzP0h3vhstwtumd71iLdNLVH6MHc9uPo67SGZfo+XYe9T\nuzHNt3VVRr4f75P9pH6FwWUWdfpnx2n91M7IEtvloObHO1P+ZuoPsXNQ77cLNyt6Hrnb0BKt\nn9q1Pbj6Om0hmX6Pl2PtYkPNoOabwwaYePBbZdASo8vc0/aD5B82tcT+JzXfXCHLTK3wspS+\n+foF8rqhJVo+zF0Prr1Oa0jG3+PlWAtpmrxTePumnG/gsR+VKZvMLrPg8qIRMuHy50wtMa5X\n85Pzp3b62NQK78iM5ttpstrQEi0f5q4H116nZQXz7/FyrIW0SL7qFP9naOB5s6ajem6MYZmW\nT+1MLfFLuarwyckv5Exzf4jDuxcnAV7sNtjUEi0f5q4H116ntEJs7/G9sxZS03j50q2nykQD\nD71aDhhX8qHJZVpDMrTE7lFy3GVndDp4tbm/q+e7djnr6xOqur1oaomWkFwPrr1OaYXY3uN7\nZ2/Wbtu36nrVGZktXNT2BcxfTC7TGpKpJT6+dWSPoZd9aHAFZ9VFR+075GvvG1ui9SsY14Mr\nr1NaIbb3+N7xMgpAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQ\nEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQ\nEqCAkAAFhAQoICRAASEl3OVtP4xOjrC9F+wdISXcD2cWHCjnFt5e79TKwgB3mS+PGd8W9kBI\naVAnDc23hJRYhJQGrSE1rN8R4GxCsoCQ0qA1pEtki3N5n+1XDznoy+u3XHZEz9P+p/iru/6x\nrsdnrlrXevK44tdTDZZ2mluElAYdQuoxfs7SuzvXnnT98/dVD250nB2j5aTZo+XwNS0nP3O1\nzH50u73N5hMhpUGHkOTWwtFkubLwdpa85zj/W+YWDv9NprWezad2FhBSGnQM6Y3C0Y3yXOHt\nd2SZ4wws/rPkOKO7bms5m5AsIKQ06BjSh4Wjm+Sdwts7CyF9LCMfKzpdlrecTUgWEFIadAyp\neHyTvOuUQlrR9oTt0pazCckCQkoDv5D+LhfvcTYhWUBIaeAXknPAsc2/9/j3W88mJAsIKQ18\nQ7pF7iscvthlauvZ8+WHdraZZ4SUBr4hbT5aTrl6WtdDV7ee/YwMn7fVzkbzi5DSYG8h3T1w\nReHtJ984ofvgy/7cdva2s7rtv8HKPnOMkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAF\nhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAFhAQoICRAASEBCggJUEBIgAJCAhQQEqCAkAAF\nhAQoICRAASEBCggJUEBIgAJCAhT8f0yW/TZzj+zSAAAAAElFTkSuQmCC", 38 | "text/plain": [ 39 | "plot without title" 40 | ] 41 | }, 42 | "metadata": {}, 43 | "output_type": "display_data" 44 | } 45 | ], 46 | "source": [ 47 | "data<-Surv(survtime, status==1)\n", 48 | "km<-survfit(Surv(survtime, status==1)~1, conf.type=\"plain\")\n", 49 | "plot(km, xlab=\"Time t\", ylab=\"Survival probability\")" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": 4, 55 | "metadata": {}, 56 | "outputs": [ 57 | { 58 | "name": "stdout", 59 | "output_type": "stream", 60 | "text": [ 61 | "Call: survfit(formula = Surv(survtime, status == 1) ~ 1, conf.type = \"plain\")\n", 62 | "\n", 63 | " time n.risk n.event survival std.err lower 95% CI upper 95% CI\n", 64 | " 31.7 16 1 0.938 0.0605 0.81889 1.000\n", 65 | " 39.2 15 1 0.875 0.0827 0.71295 1.000\n", 66 | " 57.5 14 1 0.812 0.0976 0.62125 1.000\n", 67 | " 65.8 12 1 0.745 0.1105 0.52828 0.961\n", 68 | " 70.0 11 1 0.677 0.1194 0.44309 0.911\n", 69 | " 101.7 5 1 0.542 0.1542 0.23935 0.844\n", 70 | " 109.2 3 1 0.361 0.1797 0.00882 0.713\n", 71 | " 130.0 1 1 0.000 NaN NaN NaN\n" 72 | ] 73 | } 74 | ], 75 | "source": [ 76 | "print(summary(km))" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": null, 82 | "metadata": {}, 83 | "outputs": [], 84 | "source": [] 85 | } 86 | ], 87 | "metadata": { 88 | "kernelspec": { 89 | "display_name": "R", 90 | "language": "R", 91 | "name": "ir" 92 | }, 93 | "language_info": { 94 | "codemirror_mode": "r", 95 | "file_extension": ".r", 96 | "mimetype": "text/x-r-source", 97 | "name": "R", 98 | "pygments_lexer": "r", 99 | "version": "3.6.1" 100 | } 101 | }, 102 | "nbformat": 4, 103 | "nbformat_minor": 4 104 | } 105 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_06_CumulativeFailureRatePlots/14_06_01_TheNelsonAalenEstimateOfTheCumulativeFailureRate.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## The Nelson-Aalen Estimate of the Cumulative Failure Rate" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "library(survival)" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 2, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "# Data to be analyzed\n", 26 | "survtime<-c(31.7, 39.2, 57.5, 65.0, 65.8, 70.0, 75.0, 75.2, \n", 27 | " 87.5, 88.3, 94.2, 101.7, 105.8, 109.2, 110.0, 130.0)\n", 28 | "status<-c(1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1)" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 3, 34 | "metadata": {}, 35 | "outputs": [], 36 | "source": [ 37 | "# Prepare hazard data\n", 38 | "revrank<-order(survtime, decreasing=TRUE)\n", 39 | "haz<-status/revrank\n", 40 | "cumhaz<-cumsum(haz)" 41 | ] 42 | }, 43 | { 44 | "cell_type": "code", 45 | "execution_count": 4, 46 | "metadata": {}, 47 | "outputs": [], 48 | "source": [ 49 | "# Select only failures for plotting.\n", 50 | "df<-data.frame(survtime, status, cumhaz)\n", 51 | "z<-subset(df, status==1)" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 5, 57 | "metadata": {}, 58 | "outputs": [ 59 | { 60 | "data": { 61 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deXxU5dnw8XuyEpYEAdkXBVnF\ngkIRBKkoKGKkVhaLGrXFArYSfV2KVRSVWnF5lNbqI61aojxdUFukra0ClRYXqlhFoCKKiCCg\n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\nAABJRU5ErkJggg==", 62 | "text/plain": [ 63 | "plot without title" 64 | ] 65 | }, 66 | "metadata": {}, 67 | "output_type": "display_data" 68 | } 69 | ], 70 | "source": [ 71 | "# Generate cumulative failure rate plot for exp. distr.\n", 72 | "plot(z$survtime, z$cumhaz, type=\"o\", pch=19, xlab=\"Time\", ylab=\"Cumulative failure rate\")" 73 | ] 74 | }, 75 | { 76 | "cell_type": "code", 77 | "execution_count": 6, 78 | "metadata": {}, 79 | "outputs": [ 80 | { 81 | "name": "stdout", 82 | "output_type": "stream", 83 | "text": [ 84 | " survtime status cumhaz\n", 85 | "1 31.7 1 0.0625000\n", 86 | "2 39.2 1 0.1291667\n", 87 | "3 57.5 1 0.2005952\n", 88 | "4 65.0 0 0.2005952\n", 89 | "5 65.8 1 0.2839286\n", 90 | "6 70.0 1 0.3748377\n", 91 | "7 75.0 0 0.3748377\n", 92 | "8 75.2 0 0.3748377\n", 93 | "9 87.5 0 0.3748377\n", 94 | "10 88.3 0 0.3748377\n", 95 | "11 94.2 0 0.3748377\n", 96 | "12 101.7 1 0.5748377\n", 97 | "13 105.8 0 0.5748377\n", 98 | "14 109.2 1 0.9081710\n", 99 | "15 110.0 0 0.9081710\n", 100 | "16 130.0 1 1.9081710\n" 101 | ] 102 | } 103 | ], 104 | "source": [ 105 | "print(df)" 106 | ] 107 | }, 108 | { 109 | "cell_type": "code", 110 | "execution_count": 7, 111 | "metadata": {}, 112 | "outputs": [ 113 | { 114 | "name": "stdout", 115 | "output_type": "stream", 116 | "text": [ 117 | " survtime status cumhaz\n", 118 | "1 31.7 1 0.0625000\n", 119 | "2 39.2 1 0.1291667\n", 120 | "3 57.5 1 0.2005952\n", 121 | "5 65.8 1 0.2839286\n", 122 | "6 70.0 1 0.3748377\n", 123 | "12 101.7 1 0.5748377\n", 124 | "14 109.2 1 0.9081710\n", 125 | "16 130.0 1 1.9081710\n" 126 | ] 127 | } 128 | ], 129 | "source": [ 130 | "print(z)" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": null, 136 | "metadata": {}, 137 | "outputs": [], 138 | "source": [] 139 | } 140 | ], 141 | "metadata": { 142 | "kernelspec": { 143 | "display_name": "R", 144 | "language": "R", 145 | "name": "ir" 146 | }, 147 | "language_info": { 148 | "codemirror_mode": "r", 149 | "file_extension": ".r", 150 | "mimetype": "text/x-r-source", 151 | "name": "R", 152 | "pygments_lexer": "r", 153 | "version": "3.6.1" 154 | } 155 | }, 156 | "nbformat": 4, 157 | "nbformat_minor": 4 158 | } 159 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_01.txt: -------------------------------------------------------------------------------- 1 | 10.2 2 | 89.6 3 | 54.0 4 | 96.0 5 | 23.3 6 | 30.4 7 | 41.2 8 | 0.8 9 | 73.2 10 | 3.6 11 | 28.0 12 | 31.6 13 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_02.txt: -------------------------------------------------------------------------------- 1 | 1.25 2 | 135 3 | 0.08 4 | 5.33 5 | 154 6 | 0.5 7 | 1.25 8 | 2.5 9 | 15 10 | 6 11 | 4.5 12 | 32.5 13 | 9.5 14 | 0.25 15 | 81 16 | 12 17 | 0.25 18 | 1.66 19 | 5 20 | 7 21 | 39 22 | 106 23 | 6 24 | 5 25 | 17 26 | 5 27 | 2 28 | 2 29 | 0.33 30 | 0.17 31 | 0.5 32 | 18 33 | 2.5 34 | 0.33 35 | 0.5 36 | 2 37 | 0.33 38 | 4 39 | 20 40 | 6 41 | 6.3 42 | 15 43 | 23 44 | 4 45 | 5 46 | 28 47 | 16 48 | 11.5 49 | 0.42 50 | 38.33 51 | 10.5 52 | 9.5 53 | 8.5 54 | 17 55 | 34 56 | 0.17 57 | 0.83 58 | 0.75 59 | 1 60 | 0.25 61 | 0.25 62 | 2.25 63 | 13.5 64 | 0.5 65 | 0.25 66 | 0.17 67 | 1.75 68 | 0.5 69 | 1 70 | 2 71 | 2 72 | 38 73 | 0.33 74 | 2 75 | 40.5 76 | 4.28 77 | 1.62 78 | 1.33 79 | 3 80 | 5 81 | 120 82 | 0.5 83 | 3 84 | 3 85 | 11.58 86 | 8.5 87 | 13.5 88 | 29.5 89 | 29.5 90 | 112 91 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_03.txt: -------------------------------------------------------------------------------- 1 | Strength,Censored 2 | 26.8,TRUE 3 | 43.9,FALSE 4 | 52.6,FALSE 5 | 54.8,FALSE 6 | 57.1,FALSE 7 | 59.6,FALSE 8 | 29.6,TRUE 9 | 49.9,FALSE 10 | 52.7,FALSE 11 | 54.8,FALSE 12 | 57.1,FALSE 13 | 60.4,FALSE 14 | 33.4,TRUE 15 | 50.1,FALSE 16 | 53.1,FALSE 17 | 55.1,FALSE 18 | 57.3,FALSE 19 | 60.7,FALSE 20 | 35,TRUE 21 | 50.8,FALSE 22 | 53.6,FALSE 23 | 55.4,FALSE 24 | 57.7,FALSE 25 | 36.3,FALSE 26 | 51.9,FALSE 27 | 53.6,FALSE 28 | 55.9,FALSE 29 | 57.8,FALSE 30 | 40,TRUE 31 | 52.1,FALSE 32 | 53.9,FALSE 33 | 56,FALSE 34 | 58.1,FALSE 35 | 41.7,FALSE 36 | 52.3,FALSE 37 | 53.9,FALSE 38 | 56.1,FALSE 39 | 58.9,FALSE 40 | 41.9,TRUE 41 | 52.3,FALSE 42 | 54.1,FALSE 43 | 56.5,FALSE 44 | 59,FALSE 45 | 42.5,TRUE 46 | 52.4,FALSE 47 | 54.6,FALSE 48 | 56.9,FALSE 49 | 59.1,FALSE 50 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_11.txt: -------------------------------------------------------------------------------- 1 | 12373 2 | 98474 3 | 26947 4 | 107318 5 | 5784 6 | 27838 7 | 9739 8 | 9662 9 | 90682 10 | 13000 11 | 61731 12 | 8086 13 | 12207 14 | 15269 15 | 7905 16 | 63589 17 | 4730 18 | 48162 19 | 31893 20 | 11269 21 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_12.txt: -------------------------------------------------------------------------------- 1 | V1,V2 2 | 31.7,FALSE 3 | 39.2,TRUE 4 | 57.5,FALSE 5 | 65.5,FALSE 6 | 65.8,TRUE 7 | 70,FALSE 8 | 75,TRUE 9 | 75.2,TRUE 10 | 87.5,TRUE 11 | 88.3,TRUE 12 | 94.2,FALSE 13 | 101.7,TRUE 14 | 105.8,TRUE 15 | 109.2,FALSE 16 | 110,FALSE 17 | 130,TRUE 18 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_13.txt: -------------------------------------------------------------------------------- 1 | 413 2 | 14 3 | 58 4 | 37 5 | 100 6 | 65 7 | 9 8 | 169 9 | 447 10 | 184 11 | 36 12 | 201 13 | 118 14 | 34 15 | 31 16 | 18 17 | 18 18 | 67 19 | 57 20 | 62 21 | 7 22 | 22 23 | 34 24 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_16.txt: -------------------------------------------------------------------------------- 1 | 9 2 | 12 3 | 11 4 | 4 5 | 7 6 | 2 7 | 5 8 | 8 9 | 5 10 | 7 11 | 1 12 | 6 13 | 1 14 | 9 15 | 4 16 | 1 17 | 3 18 | 3 19 | 6 20 | 1 21 | 11 22 | 33 23 | 7 24 | 91 25 | 2 26 | 1 27 | 87 28 | 47 29 | 12 30 | 9 31 | 135 32 | 258 33 | 16 34 | 35 35 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_17.txt: -------------------------------------------------------------------------------- 1 | 31.7 2 | 39.2 3 | 57.5 4 | 65 5 | 65.8 6 | 70 7 | 75 8 | 75.2 9 | 87.7 10 | 88.3 11 | 94.2 12 | 101.7 13 | 105.8 14 | 109.2 15 | 110 16 | 130 17 | -------------------------------------------------------------------------------- /14_ReliabilityDataAnalysis/14_09_Problems/14_09_Dataset_Problem_14_18.txt: -------------------------------------------------------------------------------- 1 | 12000 2 | 93000 3 | 5000 4 | 2000 5 | 11000 6 | 26000 7 | 94000 8 | 12000 9 | 49000 10 | 96000 11 | 9000 12 | 86000 13 | 65000 14 | 5000 15 | 10000 16 | 1000 17 | 8000 18 | 36000 19 | 32000 20 | -------------------------------------------------------------------------------- /15_BayesianReliabilityAnalysis/15_03_SelectionOfPriorDistribution/15_03_01_BinomialModel.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Binomial Model" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deYCNVR8H8HNnMRtjC9lr7DJS\nIjvF+1qSqCwlSopEVJSQrC1vWqQFlUqrtGlTvSKVJUsl4qVoInu2sQ4zc+edVcbMve597u+c\n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\ngCIBEPg/zzqCW0JQXZ0AAAAASUVORK5CYII=", 18 | "text/plain": [ 19 | "plot without title" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | } 25 | ], 26 | "source": [ 27 | "# Set the range (i.e., [0,1]) and the number of values to calculate\n", 28 | "x<-seq(0, 1, length=100)\n", 29 | "# Specify the parameters r and s\n", 30 | "r<-2.36\n", 31 | "s<-9.44\n", 32 | "# Calculate the beta density for each x\n", 33 | "y<-dbeta(x, r, s, log=FALSE)\n", 34 | "plot(x, y, type=\"l\", xlab=expression(theta), ylab=expression(pi(theta)))" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": null, 40 | "metadata": {}, 41 | "outputs": [], 42 | "source": [] 43 | } 44 | ], 45 | "metadata": { 46 | "kernelspec": { 47 | "display_name": "R", 48 | "language": "R", 49 | "name": "ir" 50 | }, 51 | "language_info": { 52 | "codemirror_mode": "r", 53 | "file_extension": ".r", 54 | "mimetype": "text/x-r-source", 55 | "name": "R", 56 | "pygments_lexer": "r", 57 | "version": "3.6.1" 58 | } 59 | }, 60 | "nbformat": 4, 61 | "nbformat_minor": 4 62 | } 63 | -------------------------------------------------------------------------------- /Errata/errata.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RausandBarros/ReliabilityBookScripts/f6558b57c3198b39cd239e85e7650990e8c1f501/Errata/errata.pdf -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Marvin RAUSAND, Anne BARROS 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # **System Reliability Theory - Models, Statistical Methods, and Applications** 3rd edition. 2 | 3 | 4 | --- 5 | In this repository you will find scripts, datasets, examples developped in the book ["System Reliability Theory; Models, Statistical Methods and Applications"](https://www.wiley.com/en-fr/System+Reliability+Theory%3A+Models%2C+Statistical+Methods%2C+and+Applications%2C+3rd+Edition-p-9781119374015 "WILEY book's Wepage") by M. Rausand, A. Barros, A. Høyland. 6 | 7 | ![](./images/srt.png) 8 | 9 | --- 10 | ## Table of Contents 11 | 1. Repository description 12 | 2. Get the repository 13 | 3. Get the environment 14 | 4. Bug reports 15 | 5. License 16 | 17 | --- 18 | ## 1. Repository description 19 | 20 | To facilitate the understanding of notebooks, we tried to minimize the call to external subfunctions. The advantage is that notebooks are independent and subfunctions are directly defined at the notebook level and are rather simple. The inconvenient is that several notebooks have the *same* subfunctions and that they might slightly differe from one to another... The reader should be aware of that. 21 | 22 | Below is a tree view of the repository relying on the book's sections numbering: 23 | ``` 24 | . 25 | ├── 05_ProbabilityDistributionsInReliabilityAnalysis 26 | │   ├── 05_04_SomeTimeToFailureDistributions --> R Code 27 | │   │   ├── 05_04_02_TheGammaDistribution.ipynb --> R Code 28 | │   │   ├── 05_04_03_TheWeibullDistribution.ipynb --> R Code 29 | │   │   ├── 05_04_04_TheNormalDistribution.ipynb --> R Code 30 | │   │   └── 05_04_05_TheLognormalDistribution.ipynb --> R Code 31 | │   └── 05_07_AdditionalContinuousDistributions 32 | │   └── 05_07_02_TheBetaDistribution.ipynb --> R Code 33 | ├── 06_SystemReliabilityAnalysis 34 | │   └── 06_03_NonRepairableSystems 35 | │   └── 06_03_02_NonrepairableParallelStructures.ipynb --> R Code 36 | ├── 10_CountingProcesses 37 | │   └── 10_07_Problems 38 | │   ├── 10_07_Dataset_Problem_10_13.txt --> Dataset 39 | │   └── TestDataLoading.ipynb --> R Code 40 | ├── 11_MarkovAnalysis 41 | │   ├── 11_09_TimeDependentSolution.ipynb --> Python 42 | │   ├── 11_11_MultiphaseMarkovProcesses 43 | │   │   ├── 11_11_01_ChangingTheTransitionRates.ipynb --> Python 44 | │   │   └── 11_11_02_ChangingTheInitialState.ipynb --> Python 45 | │   ├── 11_12_PiecewiseDeterministicMarkovProcesses 46 | │   │   └── 11_12_03_ASpecificCase.ipynb --> Python 47 | │   └── 11_13_SimulationOfAMarkovProcess.ipynb --> Python 48 | ├── 12_PreventiveMaintenance 49 | │   ├── 12_04_DegradationModels 50 | │   │   ├── 12_04_02_TrendModelsRegressionBasedModels.ipynb --> Python 51 | │   │   └── 12_04_03_ModelsWithIncrements.ipynb --> Python 52 | │   └── 12_05_ConditionBasedMaintenance 53 | │   ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace1.ipynb --> Python 54 | │   ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace2.ipynb --> Python 55 | │   ├── 12_05_02_ContinuousMonitoringAndFiniteDiscreteStateSpace3.ipynb --> Python 56 | │   ├── 12_05_04_InspectionBasedMonitoringAndFiniteDiscreteStateSpace.ipynb --> Python 57 | │   └── 12_05_05_InspectionBasedMonitoringAndContinuousStateSpace.ipynb --> Python 58 | ├── 14_ReliabilityDataAnalysis 59 | │   ├── 14_02_SomeBasicConcepts 60 | │   │   └── 14_02_02_SurvivalTimes.ipynb --> R Code 61 | │   ├── 14_03_ExploratoryDataAnalysis 62 | │   │   ├── 14_03_01_ACompleteDataset.ipynb --> R Code 63 | │   │   ├── 14_03_02_SampleMetrics.ipynb --> R Code 64 | │   │   ├── 14_03_03_Histogram.ipynb --> R Code 65 | │   │   ├── 14_03_04_DensityPlot.ipynb --> R Code 66 | │   │   ├── 14_03_05_EmpiricalSurvivorFunction.ipynb --> R Code 67 | │   │   ├── 14_03_06_QQPlot.ipynb --> R Code 68 | │   │   └── 14_03_dataset.txt --> Dataset 69 | │   ├── 14_04_ParameterEstimation 70 | │   │   ├── 14_04_03_MethodOfMomentsEstimation.ipynb --> R Code 71 | │   │   ├── 14_04_04_MaximumLikelihoodEstimation.ipynb --> R Code 72 | │   │   ├── 14_04_06_WeibullDistributedLifetimes.ipynb --> R Code 73 | │   │   └── 14_04_dataset.txt --> Dataset 74 | │   ├── 14_05_TheKaplanMeierEstimate 75 | │   │   └── 14_05_02_TheKaplanMeierEstimatorForACensoredDataset.ipynb --> R Code 76 | │   ├── 14_06_CumulativeFailureRatePlots 77 | │   │   └── 14_06_01_TheNelsonAalenEstimateOfTheCumulativeFailureRate.ipynb --> R Code 78 | │   ├── 14_07_TotalTimeOnTestPlotting 79 | │   │   └── 14_07_01_TotalTimeOnTestPlotForCompleteDatasets.ipynb --> R Code 80 | │   └── 14_09_Problems 81 | │   ├── 14_09_Dataset_Problem_14_01.txt --> Dataset 82 | │   ├── 14_09_Dataset_Problem_14_02.txt --> Dataset 83 | │   ├── 14_09_Dataset_Problem_14_03.txt --> Dataset 84 | │   ├── 14_09_Dataset_Problem_14_11.txt --> Dataset 85 | │   ├── 14_09_Dataset_Problem_14_12.txt --> Dataset 86 | │   ├── 14_09_Dataset_Problem_14_13.txt --> Dataset 87 | │   ├── 14_09_Dataset_Problem_14_16.txt --> Dataset 88 | │   ├── 14_09_Dataset_Problem_14_17.txt --> Dataset 89 | │   ├── 14_09_Dataset_Problem_14_18.txt --> Dataset 90 | │   └── TestDataLoading.ipynb --> R Code 91 | ├── 15_BayesianReliabilityAnalysis 92 | │   └── 15_03_SelectionOfPriorDistribution 93 | │   └── 15_03_01_BinomialModel.ipynb --> R Code 94 | ├── ReliabilityBookEnv.yml --> Environment definition 95 | ├── LICENSE.txt --> License 96 | └── README.md 97 | ``` 98 | 99 | --- 100 | 101 | ## 2. Get the repository 102 | 103 | To get the repository, run: 104 | ```bash 105 | git clone https://github.com/RausandBarros/ReliabilityBookScripts.git 106 | ``` 107 | or simply download it as ZIP file from the GitHub page. 108 | 109 | The link with the repository may be removed by deleting the `\.git` folder. 110 | 111 | --- 112 | 113 | ## 3. Python installation 114 | 115 | Anaconda is a package and environment manager. It is a common practice to dedicate a specific environment to each project to ensure its consistency and limit potential interdependence with other projects. This is especially needed when several people share/work on the same project. In the following, we assume that Anaconda’s latest version (Python 3.7) is installed on your computer (Windows, macOS or Linux) and is up to date. 116 | 117 | ### 3.1. Environment installation 118 | 119 | Use command line interface: 120 | - Windows: click Start, search or select `Anaconda Prompt` from the menu 121 | - macOS or Linux: open a terminal window 122 | 123 | Run command with the path to the file `ReliabilityBookEnv.yml` correctly set: 124 | ```bash 125 | conda env create -f ./MY/PATH/TO/ReliabilityBookEnv.yml 126 | ``` 127 | You should be able to check the installation by running the following command that list installed environments (i.e. `ReliabilityBookEnv`): 128 | ```bash 129 | conda env list 130 | ``` 131 | 132 | ### 3.2. Run Jupyter and notebooks 133 | 134 | Still from the command line interface, start the `ReliabilityBookEnv` environment by running the command: 135 | ```bash 136 | conda activate ReliabilityBookEnv 137 | ``` 138 | 139 | Then, launch Jupyter with the command: 140 | ```bash 141 | jupyter notebook 142 | ``` 143 | 144 | Then use Jupyter's interface to move to the folder where the repository has been cloned or copied. 145 | 146 | Here are the instructions: 147 | - to install the python's environment according to this repository Requirements; 148 | - to run *Jupyter* and therefore the notebooks provided within this repository. 149 | 150 | At the end of the session, deactivate the environment with command: 151 | ```bash 152 | conda deactivate 153 | ``` 154 | 155 | The environment might be deleted with command: 156 | ```bash 157 | conda remove --name ReliabilityBookEnv --all 158 | ``` 159 | 160 | --- 161 | 162 | ## 4. Bug reports 163 | 164 | Bug reports would be appreciated and may be filed through the 165 | [issue tracker](https://github.com/RausandBarros/ReliabilityBookScripts/issues). Pull requests won't be accepted except by invitation. Please file an issue first through the former link. 166 | 167 | --- 168 | ## 5. License 169 | 170 | This project is licensed under the terms of the MIT license (see file `License.txt`). 171 | -------------------------------------------------------------------------------- /ReliabilityBookEnv.yml: -------------------------------------------------------------------------------- 1 | name: ReliabilityBookEnv 2 | channels: 3 | - defaults 4 | dependencies: 5 | - python=3.7.7 6 | - numpy=1.18.1 7 | - scipy=1.4.1 8 | - pandas=1.3.1 9 | - matplotlib=3.1.3 10 | - ipykernel=5.1.4 11 | - ipython=7.13.0 12 | - jupyter=1.0.0 13 | - r-irkernel=0.8.15 14 | - r-essentials=3.6.0 15 | - r-base==3.6.1 16 | - r-maxlik=1.3_4 17 | - r-moments=0.14 18 | - r-bbmle=1.0.20 19 | - r-weibullr=1.0.10 20 | - r-adequacymodel=2.0.0 21 | -------------------------------------------------------------------------------- /images/Schema_11_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RausandBarros/ReliabilityBookScripts/f6558b57c3198b39cd239e85e7650990e8c1f501/images/Schema_11_09.png -------------------------------------------------------------------------------- /images/Schema_11_11_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RausandBarros/ReliabilityBookScripts/f6558b57c3198b39cd239e85e7650990e8c1f501/images/Schema_11_11_02.png -------------------------------------------------------------------------------- /images/Schema_12_05_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RausandBarros/ReliabilityBookScripts/f6558b57c3198b39cd239e85e7650990e8c1f501/images/Schema_12_05_02.png -------------------------------------------------------------------------------- /images/srt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RausandBarros/ReliabilityBookScripts/f6558b57c3198b39cd239e85e7650990e8c1f501/images/srt.png --------------------------------------------------------------------------------