Login
Order Now
Support
Python - Bayesian Scenario

Python - Bayesian Scenario

  • 7th Sep, 2021
  • 17:30 PM
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def BayesianScenario(A, B, A_B, split, n):\n",
    "    n1 = round(n*A)\n",
    "    n2 = round(n*B)\n",
    "    n12 = round(n2*A_B)\n",
    "    vector_A = np.concatenate((np.ones(n12),  np.ones(n1 - n12),np.zeros(n-n1)), axis=None)\n",
    "    vector_B = np.concatenate((np.ones(n12), np.zeros(n-n2), np.ones(n2 - n12)), axis=None)\n",
    "    A_train, A_test, B_train, B_test = train_test_split(vector_A, vector_B, test_size=(1-split))\n",
    "    predicted_A = sum(A_train)/len(A_train)\n",
    "    observed_A = sum(A_test)/len(A_test)\n",
    "    predicted_B = sum(B_train)/len(B_train)\n",
    "    observed_B = sum(B_test)/len(B_test)\n",
    "    predicted_A_B = sum(A_train*B_train)/sum(B_train)\n",
    "    observed_A_B = sum(A_test*B_test)/sum(B_test)\n",
    "    predicted_B_A = sum(A_train*B_train)/sum(A_train)\n",
    "    observed_B_A = sum(A_test*B_test)/sum(A_test)\n",
    "    p_B_A = A_B*B/A\n",
    "    print(\"Predicted A = \", round(predicted_A, 4), \"\\t Observed A = \", round(observed_A,4))\n",
    "    print(\"Predicted B = \", round(predicted_B, 4), \"\\t Observed B = \", round(observed_B,4))\n",
    "    print(\"Predicted A|B = \", round(predicted_A_B, 4), \"\\t Observed A|B = \", round(observed_A_B,4))\n",
    "    print(\"Predicted B|A = \", round(predicted_B_A, 4), \"\\t Observed B|A = \", round(observed_B_A,4))\n",
    "    print(\"Observed Error\")\n",
    "    print(\"Percentage Error A = \", round(100*(A-observed_A)/A, 4))\n",
    "    print(\"Percentage Error B = \", round(100*(B-observed_B)/B, 4))\n",
    "    print(\"Percentage Error A|B = \", round(100*(A_B-observed_A_B)/A_B, 4))\n",
    "    print(\"Percentage Error B|A = \", round(100*(p_B_A-observed_B_A)/p_B_A, 4))\n",
    "    print(\"True Error\")\n",
    "    print(\"Percentage Error A = \", round(100*(A-observed_A)/observed_A, 4))\n",
    "    print(\"Percentage Error B = \", round(100*(B-observed_B)/observed_B, 4))\n",
    "    print(\"Percentage Error A|B = \", round(100*(A_B-observed_A_B)/observed_A_B, 4))\n",
    "    print(\"Percentage Error B|A = \", round(100*(p_B_A-observed_B_A)/observed_B_A, 4))\n",
    "    return vector_A, vector_B, A_train, A_test, B_train, B_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted A =  0.505 \t Observed A =  0.48\n",
      "Predicted B =  0.41 \t Observed B =  0.36\n",
      "Predicted A|B =  0.6128 \t Observed A|B =  0.5417\n",
      "Predicted B|A =  0.4975 \t Observed B|A =  0.4062\n",
      "Observed Error\n",
      "Percentage Error A =  4.0\n",
      "Percentage Error B =  10.0\n",
      "Percentage Error A|B =  9.7222\n",
      "Percentage Error B|A =  15.3646\n",
      "True Error\n",
      "Percentage Error A =  4.1667\n",
      "Percentage Error B =  11.1111\n",
      "Percentage Error A|B =  10.7692\n",
      "Percentage Error B|A =  18.1538\n"
     ]
    }
   ],
   "source": [
    "A = 0.5\n",
    "B = 0.4\n",
    "A_B = 0.6\n",
    "split = 0.8\n",
    "n = 1000\n",
    "hey = BayesianScenario(A, B, A_B, split, n)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}

Share this post

assignment helpassignment helperassignment expertsassignment writing services