Path: blob/main/Trabajo_grupal/WG4/Grupo_7_jupyter.py
2714 views
{1"cells": [2{3"cell_type": "markdown",4"id": "7c45962c",5"metadata": {},6"source": [7"# ISSUE 4"8]9},10{11"cell_type": "code",12"execution_count": 230,13"id": "0b84b167",14"metadata": {},15"outputs": [],16"source": [17"import pandas as pd\n",18"import numpy as np\n",19"import scipy.stats as stats\n",20"from scipy.stats import t # t - student \n",21"import os "22]23},24{25"cell_type": "code",26"execution_count": 231,27"id": "4c56cf77",28"metadata": {},29"outputs": [],30"source": [31"user = os.getlogin() # Username\n",32"os.chdir(f\"/Users/{user}/Documents\")"33]34},35{36"cell_type": "code",37"execution_count": 233,38"id": "fef4f8b6",39"metadata": {},40"outputs": [],41"source": [42"cps2012 = pd.read_excel(\"cps2012.xlsx\")"43]44},45{46"cell_type": "code",47"execution_count": 234,48"id": "b40f0a13",49"metadata": {},50"outputs": [51{52"data": {53"text/html": [54"<div>\n",55"<style scoped>\n",56" .dataframe tbody tr th:only-of-type {\n",57" vertical-align: middle;\n",58" }\n",59"\n",60" .dataframe tbody tr th {\n",61" vertical-align: top;\n",62" }\n",63"\n",64" .dataframe thead th {\n",65" text-align: right;\n",66" }\n",67"</style>\n",68"<table border=\"1\" class=\"dataframe\">\n",69" <thead>\n",70" <tr style=\"text-align: right;\">\n",71" <th></th>\n",72" <th>year</th>\n",73" <th>lnw</th>\n",74" <th>intercept</th>\n",75" <th>female</th>\n",76" <th>widowed</th>\n",77" <th>divorced</th>\n",78" <th>separated</th>\n",79" <th>nevermarried</th>\n",80" <th>hsd08</th>\n",81" <th>hsd911</th>\n",82" <th>...</th>\n",83" <th>so</th>\n",84" <th>we</th>\n",85" <th>exp1</th>\n",86" <th>exp2</th>\n",87" <th>exp3</th>\n",88" <th>exp4</th>\n",89" <th>weight</th>\n",90" <th>married</th>\n",91" <th>ne</th>\n",92" <th>sc</th>\n",93" </tr>\n",94" </thead>\n",95" <tbody>\n",96" <tr>\n",97" <th>0</th>\n",98" <td>2012</td>\n",99" <td>1.909542</td>\n",100" <td>1</td>\n",101" <td>1</td>\n",102" <td>0</td>\n",103" <td>0</td>\n",104" <td>0</td>\n",105" <td>0</td>\n",106" <td>0</td>\n",107" <td>0</td>\n",108" <td>...</td>\n",109" <td>0</td>\n",110" <td>0</td>\n",111" <td>22.0</td>\n",112" <td>4.8400</td>\n",113" <td>10.648000</td>\n",114" <td>23.425600</td>\n",115" <td>569.43</td>\n",116" <td>True</td>\n",117" <td>True</td>\n",118" <td>True</td>\n",119" </tr>\n",120" <tr>\n",121" <th>1</th>\n",122" <td>2012</td>\n",123" <td>1.365773</td>\n",124" <td>1</td>\n",125" <td>1</td>\n",126" <td>0</td>\n",127" <td>0</td>\n",128" <td>0</td>\n",129" <td>0</td>\n",130" <td>0</td>\n",131" <td>1</td>\n",132" <td>...</td>\n",133" <td>0</td>\n",134" <td>0</td>\n",135" <td>30.0</td>\n",136" <td>9.0000</td>\n",137" <td>27.000000</td>\n",138" <td>81.000000</td>\n",139" <td>625.96</td>\n",140" <td>True</td>\n",141" <td>True</td>\n",142" <td>False</td>\n",143" </tr>\n",144" <tr>\n",145" <th>2</th>\n",146" <td>2012</td>\n",147" <td>2.540223</td>\n",148" <td>1</td>\n",149" <td>0</td>\n",150" <td>0</td>\n",151" <td>0</td>\n",152" <td>0</td>\n",153" <td>0</td>\n",154" <td>0</td>\n",155" <td>0</td>\n",156" <td>...</td>\n",157" <td>0</td>\n",158" <td>0</td>\n",159" <td>19.0</td>\n",160" <td>3.6100</td>\n",161" <td>6.859000</td>\n",162" <td>13.032100</td>\n",163" <td>264.22</td>\n",164" <td>True</td>\n",165" <td>True</td>\n",166" <td>False</td>\n",167" </tr>\n",168" <tr>\n",169" <th>3</th>\n",170" <td>2012</td>\n",171" <td>1.801091</td>\n",172" <td>1</td>\n",173" <td>1</td>\n",174" <td>0</td>\n",175" <td>0</td>\n",176" <td>0</td>\n",177" <td>0</td>\n",178" <td>0</td>\n",179" <td>0</td>\n",180" <td>...</td>\n",181" <td>0</td>\n",182" <td>0</td>\n",183" <td>14.0</td>\n",184" <td>1.9600</td>\n",185" <td>2.744000</td>\n",186" <td>3.841600</td>\n",187" <td>256.81</td>\n",188" <td>True</td>\n",189" <td>True</td>\n",190" <td>False</td>\n",191" </tr>\n",192" <tr>\n",193" <th>4</th>\n",194" <td>2012</td>\n",195" <td>3.349904</td>\n",196" <td>1</td>\n",197" <td>0</td>\n",198" <td>0</td>\n",199" <td>0</td>\n",200" <td>0</td>\n",201" <td>0</td>\n",202" <td>0</td>\n",203" <td>0</td>\n",204" <td>...</td>\n",205" <td>0</td>\n",206" <td>0</td>\n",207" <td>15.0</td>\n",208" <td>2.2500</td>\n",209" <td>3.375000</td>\n",210" <td>5.062500</td>\n",211" <td>256.81</td>\n",212" <td>True</td>\n",213" <td>True</td>\n",214" <td>False</td>\n",215" </tr>\n",216" <tr>\n",217" <th>...</th>\n",218" <td>...</td>\n",219" <td>...</td>\n",220" <td>...</td>\n",221" <td>...</td>\n",222" <td>...</td>\n",223" <td>...</td>\n",224" <td>...</td>\n",225" <td>...</td>\n",226" <td>...</td>\n",227" <td>...</td>\n",228" <td>...</td>\n",229" <td>...</td>\n",230" <td>...</td>\n",231" <td>...</td>\n",232" <td>...</td>\n",233" <td>...</td>\n",234" <td>...</td>\n",235" <td>...</td>\n",236" <td>...</td>\n",237" <td>...</td>\n",238" <td>...</td>\n",239" </tr>\n",240" <tr>\n",241" <th>103</th>\n",242" <td>2012</td>\n",243" <td>2.369075</td>\n",244" <td>1</td>\n",245" <td>1</td>\n",246" <td>0</td>\n",247" <td>0</td>\n",248" <td>0</td>\n",249" <td>1</td>\n",250" <td>0</td>\n",251" <td>0</td>\n",252" <td>...</td>\n",253" <td>0</td>\n",254" <td>0</td>\n",255" <td>18.0</td>\n",256" <td>3.2400</td>\n",257" <td>5.832000</td>\n",258" <td>10.497600</td>\n",259" <td>491.40</td>\n",260" <td>False</td>\n",261" <td>True</td>\n",262" <td>False</td>\n",263" </tr>\n",264" <tr>\n",265" <th>104</th>\n",266" <td>2012</td>\n",267" <td>3.338731</td>\n",268" <td>1</td>\n",269" <td>0</td>\n",270" <td>0</td>\n",271" <td>0</td>\n",272" <td>0</td>\n",273" <td>0</td>\n",274" <td>0</td>\n",275" <td>0</td>\n",276" <td>...</td>\n",277" <td>0</td>\n",278" <td>0</td>\n",279" <td>28.0</td>\n",280" <td>7.8400</td>\n",281" <td>21.952000</td>\n",282" <td>61.465600</td>\n",283" <td>276.46</td>\n",284" <td>True</td>\n",285" <td>True</td>\n",286" <td>True</td>\n",287" </tr>\n",288" <tr>\n",289" <th>105</th>\n",290" <td>2012</td>\n",291" <td>2.225974</td>\n",292" <td>1</td>\n",293" <td>0</td>\n",294" <td>0</td>\n",295" <td>1</td>\n",296" <td>0</td>\n",297" <td>0</td>\n",298" <td>0</td>\n",299" <td>0</td>\n",300" <td>...</td>\n",301" <td>0</td>\n",302" <td>0</td>\n",303" <td>27.0</td>\n",304" <td>7.2900</td>\n",305" <td>19.683000</td>\n",306" <td>53.144100</td>\n",307" <td>479.96</td>\n",308" <td>False</td>\n",309" <td>True</td>\n",310" <td>False</td>\n",311" </tr>\n",312" <tr>\n",313" <th>106</th>\n",314" <td>2012</td>\n",315" <td>2.879901</td>\n",316" <td>1</td>\n",317" <td>1</td>\n",318" <td>0</td>\n",319" <td>1</td>\n",320" <td>0</td>\n",321" <td>0</td>\n",322" <td>0</td>\n",323" <td>0</td>\n",324" <td>...</td>\n",325" <td>0</td>\n",326" <td>0</td>\n",327" <td>20.5</td>\n",328" <td>4.2025</td>\n",329" <td>8.615125</td>\n",330" <td>17.661006</td>\n",331" <td>479.96</td>\n",332" <td>False</td>\n",333" <td>True</td>\n",334" <td>True</td>\n",335" </tr>\n",336" <tr>\n",337" <th>107</th>\n",338" <td>2012</td>\n",339" <td>1.852399</td>\n",340" <td>1</td>\n",341" <td>1</td>\n",342" <td>0</td>\n",343" <td>0</td>\n",344" <td>0</td>\n",345" <td>0</td>\n",346" <td>0</td>\n",347" <td>0</td>\n",348" <td>...</td>\n",349" <td>0</td>\n",350" <td>0</td>\n",351" <td>33.0</td>\n",352" <td>10.8900</td>\n",353" <td>35.937000</td>\n",354" <td>118.592100</td>\n",355" <td>576.29</td>\n",356" <td>True</td>\n",357" <td>True</td>\n",358" <td>True</td>\n",359" </tr>\n",360" </tbody>\n",361"</table>\n",362"<p>108 rows × 24 columns</p>\n",363"</div>"364],365"text/plain": [366" year lnw intercept female widowed divorced separated \\\n",367"0 2012 1.909542 1 1 0 0 0 \n",368"1 2012 1.365773 1 1 0 0 0 \n",369"2 2012 2.540223 1 0 0 0 0 \n",370"3 2012 1.801091 1 1 0 0 0 \n",371"4 2012 3.349904 1 0 0 0 0 \n",372".. ... ... ... ... ... ... ... \n",373"103 2012 2.369075 1 1 0 0 0 \n",374"104 2012 3.338731 1 0 0 0 0 \n",375"105 2012 2.225974 1 0 0 1 0 \n",376"106 2012 2.879901 1 1 0 1 0 \n",377"107 2012 1.852399 1 1 0 0 0 \n",378"\n",379" nevermarried hsd08 hsd911 ... so we exp1 exp2 exp3 \\\n",380"0 0 0 0 ... 0 0 22.0 4.8400 10.648000 \n",381"1 0 0 1 ... 0 0 30.0 9.0000 27.000000 \n",382"2 0 0 0 ... 0 0 19.0 3.6100 6.859000 \n",383"3 0 0 0 ... 0 0 14.0 1.9600 2.744000 \n",384"4 0 0 0 ... 0 0 15.0 2.2500 3.375000 \n",385".. ... ... ... ... .. .. ... ... ... \n",386"103 1 0 0 ... 0 0 18.0 3.2400 5.832000 \n",387"104 0 0 0 ... 0 0 28.0 7.8400 21.952000 \n",388"105 0 0 0 ... 0 0 27.0 7.2900 19.683000 \n",389"106 0 0 0 ... 0 0 20.5 4.2025 8.615125 \n",390"107 0 0 0 ... 0 0 33.0 10.8900 35.937000 \n",391"\n",392" exp4 weight married ne sc \n",393"0 23.425600 569.43 True True True \n",394"1 81.000000 625.96 True True False \n",395"2 13.032100 264.22 True True False \n",396"3 3.841600 256.81 True True False \n",397"4 5.062500 256.81 True True False \n",398".. ... ... ... ... ... \n",399"103 10.497600 491.40 False True False \n",400"104 61.465600 276.46 True True True \n",401"105 53.144100 479.96 False True False \n",402"106 17.661006 479.96 False True True \n",403"107 118.592100 576.29 True True True \n",404"\n",405"[108 rows x 24 columns]"406]407},408"execution_count": 234,409"metadata": {},410"output_type": "execute_result"411}412],413"source": [414"cps2012"415]416},417{418"cell_type": "code",419"execution_count": 324,420"id": "c26d2e2e",421"metadata": {},422"outputs": [],423"source": [424"ln = cps2012.lnw.values # se convierte a un array \n",425"wei = cps2012.weight.values\n",426"ex1 = cps2012.exp1.values\n",427"ex2 = cps2012.exp2.values\n",428"ex3 = cps2012.exp3.values"429]430},431{432"cell_type": "code",433"execution_count": 325,434"id": "318f28f2",435"metadata": {},436"outputs": [],437"source": [438"# Generation of data\n",439"\n",440"y = np.log( ln ) # lnlnw\n",441"c = np.ones( len( y ) ) # Constant\n",442"x1 = cps2012.female\n",443"x2 = cps2012.widowed\n",444"x3 = cps2012.divorced\n",445"x4 = cps2012.separated\n",446"x5 = cps2012.nevermarried\n",447"xw = np.log( wei )\n",448"x11 = np.log( ex1 )\n",449"x22 = np.log( ex2 ) \n",450"x33 = np.log( ex3 ) \n",451"x12 = np.log( ex1 )*np.log( ex2 )\n",452"x13 = np.log( ex1 )*np.log( ex3 ) \n",453"x23 = np.log( ex2 )*np.log( ex3 ) \n",454"\n",455"columns = [ \"ln_lnw\", \"female\", \"widowed\", \"divorced\", \"separated\",\n",456" \"nevermarried\", \"weight\", \"exp1\", \"exp2\", \"exp3\", \"(exp1)(exp2)\", \"(exp1)(exp3)\", \"(exp2)(exp3)\" ]\n",457"\n",458"data_val = np.asarray( [ y, x1, x2, x3, x4, x5, xw, x11, x22, x33, x12, x13, x23 ] ).T # se coloca transpuesta para que cada varaible sea una columna \n",459"\n",460"# np.asarray permite crear una matriz a partir de vectores \n",461"\n",462"data = pd.DataFrame( data_val , columns = columns )"463]464},465{466"cell_type": "code",467"execution_count": 326,468"id": "73d42596",469"metadata": {},470"outputs": [471{472"data": {473"text/html": [474"<div>\n",475"<style scoped>\n",476" .dataframe tbody tr th:only-of-type {\n",477" vertical-align: middle;\n",478" }\n",479"\n",480" .dataframe tbody tr th {\n",481" vertical-align: top;\n",482" }\n",483"\n",484" .dataframe thead th {\n",485" text-align: right;\n",486" }\n",487"</style>\n",488"<table border=\"1\" class=\"dataframe\">\n",489" <thead>\n",490" <tr style=\"text-align: right;\">\n",491" <th></th>\n",492" <th>ln_lnw</th>\n",493" <th>female</th>\n",494" <th>widowed</th>\n",495" <th>divorced</th>\n",496" <th>separated</th>\n",497" <th>nevermarried</th>\n",498" <th>weight</th>\n",499" <th>exp1</th>\n",500" <th>exp2</th>\n",501" <th>exp3</th>\n",502" <th>(exp1)(exp2)</th>\n",503" <th>(exp1)(exp3)</th>\n",504" <th>(exp2)(exp3)</th>\n",505" </tr>\n",506" </thead>\n",507" <tbody>\n",508" <tr>\n",509" <th>0</th>\n",510" <td>0.646864</td>\n",511" <td>1.0</td>\n",512" <td>0.0</td>\n",513" <td>0.0</td>\n",514" <td>0.0</td>\n",515" <td>0.0</td>\n",516" <td>6.344636</td>\n",517" <td>3.091042</td>\n",518" <td>1.576915</td>\n",519" <td>2.365372</td>\n",520" <td>4.874310</td>\n",521" <td>7.311466</td>\n",522" <td>3.729990</td>\n",523" </tr>\n",524" <tr>\n",525" <th>1</th>\n",526" <td>0.311720</td>\n",527" <td>1.0</td>\n",528" <td>0.0</td>\n",529" <td>0.0</td>\n",530" <td>0.0</td>\n",531" <td>0.0</td>\n",532" <td>6.439286</td>\n",533" <td>3.401197</td>\n",534" <td>2.197225</td>\n",535" <td>3.295837</td>\n",536" <td>7.473194</td>\n",537" <td>11.209792</td>\n",538" <td>7.241694</td>\n",539" </tr>\n",540" <tr>\n",541" <th>2</th>\n",542" <td>0.932252</td>\n",543" <td>0.0</td>\n",544" <td>0.0</td>\n",545" <td>0.0</td>\n",546" <td>0.0</td>\n",547" <td>0.0</td>\n",548" <td>5.576782</td>\n",549" <td>2.944439</td>\n",550" <td>1.283708</td>\n",551" <td>1.925562</td>\n",552" <td>3.779799</td>\n",553" <td>5.669699</td>\n",554" <td>2.471858</td>\n",555" </tr>\n",556" <tr>\n",557" <th>3</th>\n",558" <td>0.588392</td>\n",559" <td>1.0</td>\n",560" <td>0.0</td>\n",561" <td>0.0</td>\n",562" <td>0.0</td>\n",563" <td>0.0</td>\n",564" <td>5.548337</td>\n",565" <td>2.639057</td>\n",566" <td>0.672944</td>\n",567" <td>1.009417</td>\n",568" <td>1.775939</td>\n",569" <td>2.663909</td>\n",570" <td>0.679281</td>\n",571" </tr>\n",572" <tr>\n",573" <th>4</th>\n",574" <td>1.208932</td>\n",575" <td>0.0</td>\n",576" <td>0.0</td>\n",577" <td>0.0</td>\n",578" <td>0.0</td>\n",579" <td>0.0</td>\n",580" <td>5.548337</td>\n",581" <td>2.708050</td>\n",582" <td>0.810930</td>\n",583" <td>1.216395</td>\n",584" <td>2.196040</td>\n",585" <td>3.294060</td>\n",586" <td>0.986412</td>\n",587" </tr>\n",588" <tr>\n",589" <th>...</th>\n",590" <td>...</td>\n",591" <td>...</td>\n",592" <td>...</td>\n",593" <td>...</td>\n",594" <td>...</td>\n",595" <td>...</td>\n",596" <td>...</td>\n",597" <td>...</td>\n",598" <td>...</td>\n",599" <td>...</td>\n",600" <td>...</td>\n",601" <td>...</td>\n",602" <td>...</td>\n",603" </tr>\n",604" <tr>\n",605" <th>103</th>\n",606" <td>0.862499</td>\n",607" <td>1.0</td>\n",608" <td>0.0</td>\n",609" <td>0.0</td>\n",610" <td>0.0</td>\n",611" <td>1.0</td>\n",612" <td>6.197258</td>\n",613" <td>2.890372</td>\n",614" <td>1.175573</td>\n",615" <td>1.763360</td>\n",616" <td>3.397844</td>\n",617" <td>5.096766</td>\n",618" <td>2.072959</td>\n",619" </tr>\n",620" <tr>\n",621" <th>104</th>\n",622" <td>1.205591</td>\n",623" <td>0.0</td>\n",624" <td>0.0</td>\n",625" <td>0.0</td>\n",626" <td>0.0</td>\n",627" <td>0.0</td>\n",628" <td>5.622066</td>\n",629" <td>3.332205</td>\n",630" <td>2.059239</td>\n",631" <td>3.088858</td>\n",632" <td>6.861805</td>\n",633" <td>10.292707</td>\n",634" <td>6.360697</td>\n",635" </tr>\n",636" <tr>\n",637" <th>105</th>\n",638" <td>0.800195</td>\n",639" <td>0.0</td>\n",640" <td>0.0</td>\n",641" <td>1.0</td>\n",642" <td>0.0</td>\n",643" <td>0.0</td>\n",644" <td>6.173703</td>\n",645" <td>3.295837</td>\n",646" <td>1.986504</td>\n",647" <td>2.979755</td>\n",648" <td>6.547192</td>\n",649" <td>9.820787</td>\n",650" <td>5.919295</td>\n",651" </tr>\n",652" <tr>\n",653" <th>106</th>\n",654" <td>1.057756</td>\n",655" <td>1.0</td>\n",656" <td>0.0</td>\n",657" <td>1.0</td>\n",658" <td>0.0</td>\n",659" <td>0.0</td>\n",660" <td>6.173703</td>\n",661" <td>3.020425</td>\n",662" <td>1.435680</td>\n",663" <td>2.153519</td>\n",664" <td>4.336362</td>\n",665" <td>6.504544</td>\n",666" <td>3.091764</td>\n",667" </tr>\n",668" <tr>\n",669" <th>107</th>\n",670" <td>0.616481</td>\n",671" <td>1.0</td>\n",672" <td>0.0</td>\n",673" <td>0.0</td>\n",674" <td>0.0</td>\n",675" <td>0.0</td>\n",676" <td>6.356611</td>\n",677" <td>3.496508</td>\n",678" <td>2.387845</td>\n",679" <td>3.581767</td>\n",680" <td>8.349118</td>\n",681" <td>12.523677</td>\n",682" <td>8.552705</td>\n",683" </tr>\n",684" </tbody>\n",685"</table>\n",686"<p>108 rows × 13 columns</p>\n",687"</div>"688],689"text/plain": [690" ln_lnw female widowed divorced separated nevermarried weight \\\n",691"0 0.646864 1.0 0.0 0.0 0.0 0.0 6.344636 \n",692"1 0.311720 1.0 0.0 0.0 0.0 0.0 6.439286 \n",693"2 0.932252 0.0 0.0 0.0 0.0 0.0 5.576782 \n",694"3 0.588392 1.0 0.0 0.0 0.0 0.0 5.548337 \n",695"4 1.208932 0.0 0.0 0.0 0.0 0.0 5.548337 \n",696".. ... ... ... ... ... ... ... \n",697"103 0.862499 1.0 0.0 0.0 0.0 1.0 6.197258 \n",698"104 1.205591 0.0 0.0 0.0 0.0 0.0 5.622066 \n",699"105 0.800195 0.0 0.0 1.0 0.0 0.0 6.173703 \n",700"106 1.057756 1.0 0.0 1.0 0.0 0.0 6.173703 \n",701"107 0.616481 1.0 0.0 0.0 0.0 0.0 6.356611 \n",702"\n",703" exp1 exp2 exp3 (exp1)(exp2) (exp1)(exp3) (exp2)(exp3) \n",704"0 3.091042 1.576915 2.365372 4.874310 7.311466 3.729990 \n",705"1 3.401197 2.197225 3.295837 7.473194 11.209792 7.241694 \n",706"2 2.944439 1.283708 1.925562 3.779799 5.669699 2.471858 \n",707"3 2.639057 0.672944 1.009417 1.775939 2.663909 0.679281 \n",708"4 2.708050 0.810930 1.216395 2.196040 3.294060 0.986412 \n",709".. ... ... ... ... ... ... \n",710"103 2.890372 1.175573 1.763360 3.397844 5.096766 2.072959 \n",711"104 3.332205 2.059239 3.088858 6.861805 10.292707 6.360697 \n",712"105 3.295837 1.986504 2.979755 6.547192 9.820787 5.919295 \n",713"106 3.020425 1.435680 2.153519 4.336362 6.504544 3.091764 \n",714"107 3.496508 2.387845 3.581767 8.349118 12.523677 8.552705 \n",715"\n",716"[108 rows x 13 columns]"717]718},719"execution_count": 326,720"metadata": {},721"output_type": "execute_result"722}723],724"source": [725"data"726]727},728{729"cell_type": "code",730"execution_count": 328,731"id": "e8ae559c",732"metadata": {},733"outputs": [],734"source": [735"# selecting columns\n",736"X = data.iloc[ : ,1:]\n",737"y = data.ln_lnw\n",738"lista = data.iloc[ : , :7]"739]740},741{742"cell_type": "code",743"execution_count": 340,744"id": "6e5c0891",745"metadata": {746"scrolled": true747},748"outputs": [],749"source": [750"class OLSRegClass( object ):\n",751" \n",752" def __init__( self, X : pd.DataFrame , y : pd.Series , lista, RobustStandardError = True):\n",753" \n",754" if not isinstance( X, pd.DataFrame ):\n",755" raise TypeError( \"X must be a pd.DataFrame.\" )\n",756"\n",757" if not isinstance( y , pd.Series ):\n",758" raise TypeError( \"y must be a pd.Series.\" )\n",759" \n",760" # asignando atributos de la clase\n",761" \n",762" self.X = X\n",763" self.y = y\n",764" self.lista = lista\n",765" self.RobustStandardError = RobustStandardError\n",766"\n",767" self.X[ 'Intercept' ] = 1\n",768" # colcondo la columna Intercept en la primera columna \n",769" \n",770" cols = self.X.columns.tolist() # nombre de variable a lista \n",771" new_cols_orders = [cols[ -1 ]] + cols[ 5:-1 ] # juntamos listas\n",772"\n",773" \n",774" # [cols[ -1 ]] la jala la ultima fila , cols[ 0:-1 ] primera fila hasta la fila 9\n",775" \n",776" self.X = self.X.loc[ : , new_cols_orders ] # usamos .loc que filtra por nombre de filas o columnas \n",777"\n",778" \n",779" # creando nuevos atributos \n",780" \n",781" self.X_np = self.X.values # Dataframe a multi array\n",782" self.y_np = y.values.reshape( -1 , 1 ) # de objeto serie a array columna \n",783" self.lista = self.X.columns.tolist() # nombre de la base de datos como objeto lista\n",784"\n",785" \n",786"# Creando Métodos #\n",787"\n",788"###################### MÉTODO 1 ###############################################\n",789" \n",790" def reg_beta_OLS( self ):\n",791" # X, y en Matrix, y vector columna respectivamente \n",792" \n",793" X_np = self.X_np\n",794" y_np = self.y_np\n",795"\n",796" # beta_ols\n",797" beta_ols = np.linalg.inv( X_np.T @ X_np ) @ ( X_np.T @ y_np )\n",798"\n",799" # columnas de X\n",800" index_names = self.lista\n",801" # Output\n",802" beta_OLS_output = pd.DataFrame( beta_ols , index = index_names , columns = [ 'Coef.' ] )\n",803" \n",804" # Dataframe de coeffientes como atributo \n",805" \n",806" self.beta_OLS = beta_OLS_output\n",807" \n",808" return beta_OLS_output\n",809" \n",810" \n",811"###################### MÉTODO 2 ###############################################\n",812" \n",813" def var_stderrors_cfdinterval( self ):\n",814" \n",815" ### VARIANZA ###\n",816" \n",817" # Se corre la función beta_OLS que estima el vector de coeficientes\n",818" self.reg_beta_OLS()\n",819" \n",820" # usaremos atributos pero con un nombre más simple\n",821" X_np = self.X_np\n",822" y_np = self.y_np\n",823" listaf = self.lista\n",824" \n",825" # beta_ols\n",826" beta_OLS = self.beta_OLS.values.reshape( - 1, 1 ) # Dataframe a vector columna \n",827"\n",828" # errors\n",829" e = y_np - ( X_np @ beta_OLS )\n",830"\n",831" # error variance\n",832" N = X_np.shape[ 0 ]\n",833" total_parameters = X_np.shape[ 1 ]\n",834" error_var = ( (e.T @ e)[ 0 ] )/( N - total_parameters )\n",835"\n",836" # Varianza\n",837" var_OLS = error_var * np.linalg.inv( X_np.T @ X_np )\n",838" \n",839" # asignando output de la función def reg_var_OLS( self ): como atributo self.var_OLS\n",840" index_names = listaf\n",841" var_OLS_output = pd.DataFrame( var_OLS , index = index_names , columns = index_names )\n",842" self.var_OLS = var_OLS_output\n",843"\n",844" \n",845" ### STANDAR ERRORS ###\n",846" \n",847" # var y beta\n",848" beta_OLS = self.beta_OLS.values.reshape( -1, 1 ) # -1 significa cualquier número de filas\n",849" var_OLS = self.var_OLS.values\n",850" \n",851" # standard errors\n",852" beta_stderror = np.sqrt( np.diag( var_OLS ) )\n",853" \n",854" table_data0 = { \"Std.Err.\" : beta_stderror.ravel()}\n",855" \n",856" # defining index names\n",857" index_names0 = listaf\n",858" \n",859" # defining a pandas dataframe \n",860" beta_se_output = pd.DataFrame( table_data0 , index = index_names0 )\n",861" self.beta_se = beta_se_output\n",862"\n",863" ### Confidence interval ###\n",864" \n",865" up_bd = beta_OLS.ravel() + 1.96*beta_stderror\n",866" lw_bd = beta_OLS.ravel() - 1.96*beta_stderror\n",867" \n",868" table_data1 = {\"[0.025\" : lw_bd.ravel(),\n",869" \"0.975]\" : up_bd.ravel()}\n",870" \n",871" # defining index names\n",872" index_names1 = listaf\n",873" \n",874" # defining a pandas dataframe \n",875" confiden_interval_output = pd.DataFrame( table_data1 , index = index_names1 )\n",876" self_confiden_interval = confiden_interval_output\n",877" \n",878" return var_OLS_output, beta_se_output, confiden_interval_output\n",879" \n",880" \n",881"###################### MÉTODO 3 ###############################################\n",882" \n",883" def robust_var_se_cfdinterval(self):\n",884" \n",885" # Se corre la función beta_OLS que estima el vector de coeficientes\n",886" self.reg_beta_OLS()\n",887" \n",888" # usaré atributos pero con un nombre más simple\n",889" X_np = self.X_np\n",890" y_np = self.y_np\n",891" listaf = self.lista\n",892" \n",893" beta = np.linalg.inv(X_np.T @ X_np) @ ((X_np.T) @ y )\n",894" y_est = X_np @ beta\n",895" n = X_np.shape[0]\n",896" k = X_np.shape[1] - 1 \n",897" nk = n - k \n",898"\n",899" matrix_robust = np.diag(list( map( lambda x: x**2 , y - y_est)))\n",900" Var = np.linalg.inv(X_np.T @ X_np) @ X_np.T @ matrix_robust @ X_np @ np.linalg.inv(X_np.T @ X_np)\n",901" sd = np.sqrt( np.diag(Var) )\n",902" var = sd**2\n",903" t_est = np.absolute(beta/sd)\n",904" lower_bound = beta-1.96*sd\n",905" upper_bound = beta+1.96*sd\n",906" SCR = sum(list( map( lambda x: x**2 , y - y_est) ))\n",907" SCT = sum(list( map( lambda x: x**2 , y - np.mean(y_est) )))\n",908" R2 = 1-SCR/SCT\n",909" rmse = (SCR/n)**0.5\n",910" table = pd.DataFrame( {\"ols\": beta , \"standar_error\" : sd , \"Lower_bound\":lower_bound, \"Upper_bound\":upper_bound} ) \n",911" \n",912" fit = {\"Root_MSE\":rmse, \"R2\": R2}\n",913" \n",914" index_names7 = listaf\n",915" var_robust_output = pd.DataFrame( Var , index = index_names7 , columns = index_names7 )\n",916" self.var_robust = var_robust_output\n",917" \n",918" \n",919" return table, fit, var_robust_output\n",920" \n",921"###################### MÉTODO 4 ############################################### \n",922" \n",923" def R2_rootMSE( self ) :\n",924" \n",925" ############\n",926" ### R2 ###\n",927" \n",928" # Se corre la función beta_OLS_Reg que estima el vector de coeficientes\n",929" self.reg_beta_OLS()\n",930" \n",931" y_est = self.X_np @ self.beta_OLS # y estimado\n",932" error = self.y_np - y_est # vector de errores\n",933" self.SCR = np.sum(np.square(error)) # Suma del Cuadrado de los Residuos\n",934" SCT = np.sum(np.square(self.y_np - np.mean(self.X_np) )) # Suma de Cuadrados Total\n",935"\n",936" self.R2 = 1 - self.SCR/SCT\n",937"\n",938" \n",939" #################\n",940" ### root MSE ###\n",941" \n",942" for i in error.values:\n",943" \n",944" suma = 0\n",945" suma = np.sqrt( suma + (i**2) / self.X_np.shape[0] )\n",946" \n",947" self.rootMSE = suma.tolist()\n",948" \n",949" return self.R2, self.rootMSE\n",950" \n",951"\n",952"###################### MÉTODO 5 ###############################################\n",953" \n",954" def output( self ):\n",955" \n",956" self.reg_beta_OLS()\n",957" self.R2_rootMSE()\n",958" self.var_stderrors_cfdinterval()\n",959" \n",960" # var y beta\n",961" beta_OLS = self.beta_OLS.values.reshape( -1, 1 ) # -1 significa cualquier número de filas\n",962" var_OLS = self.var_OLS.values\n",963" \n",964" # standard errors\n",965" beta_stderror = np.sqrt( np.diag( var_OLS ) )\n",966" \n",967" # confidence interval\n",968" up_bd = beta_OLS.ravel() + 1.96*beta_stderror\n",969" lw_bd = beta_OLS.ravel() - 1.96*beta_stderror\n",970" \n",971" table_data2 = {'Coef.' : beta_OLS.ravel(),\n",972" 'Std.Err.' : beta_stderror.ravel(),\n",973" '[0.025' : lw_bd.ravel(),\n",974" '0.975]' : up_bd.ravel(),\n",975" 'R2' : self.R2,\n",976" 'rootMSE' : self.rootMSE}\n",977" \n",978" return table_data2"979]980},981{982"cell_type": "code",983"execution_count": 341,984"id": "abd0335d",985"metadata": {},986"outputs": [987{988"data": {989"text/html": [990"<div>\n",991"<style scoped>\n",992" .dataframe tbody tr th:only-of-type {\n",993" vertical-align: middle;\n",994" }\n",995"\n",996" .dataframe tbody tr th {\n",997" vertical-align: top;\n",998" }\n",999"\n",1000" .dataframe thead th {\n",1001" text-align: right;\n",1002" }\n",1003"</style>\n",1004"<table border=\"1\" class=\"dataframe\">\n",1005" <thead>\n",1006" <tr style=\"text-align: right;\">\n",1007" <th></th>\n",1008" <th>Intercept</th>\n",1009" <th>weight</th>\n",1010" <th>exp1</th>\n",1011" <th>exp2</th>\n",1012" <th>exp3</th>\n",1013" <th>(exp1)(exp2)</th>\n",1014" <th>(exp1)(exp3)</th>\n",1015" <th>(exp2)(exp3)</th>\n",1016" </tr>\n",1017" </thead>\n",1018" <tbody>\n",1019" <tr>\n",1020" <th>0</th>\n",1021" <td>1</td>\n",1022" <td>6.344636</td>\n",1023" <td>3.091042</td>\n",1024" <td>1.576915</td>\n",1025" <td>2.365372</td>\n",1026" <td>4.874310</td>\n",1027" <td>7.311466</td>\n",1028" <td>3.729990</td>\n",1029" </tr>\n",1030" <tr>\n",1031" <th>1</th>\n",1032" <td>1</td>\n",1033" <td>6.439286</td>\n",1034" <td>3.401197</td>\n",1035" <td>2.197225</td>\n",1036" <td>3.295837</td>\n",1037" <td>7.473194</td>\n",1038" <td>11.209792</td>\n",1039" <td>7.241694</td>\n",1040" </tr>\n",1041" <tr>\n",1042" <th>2</th>\n",1043" <td>1</td>\n",1044" <td>5.576782</td>\n",1045" <td>2.944439</td>\n",1046" <td>1.283708</td>\n",1047" <td>1.925562</td>\n",1048" <td>3.779799</td>\n",1049" <td>5.669699</td>\n",1050" <td>2.471858</td>\n",1051" </tr>\n",1052" <tr>\n",1053" <th>3</th>\n",1054" <td>1</td>\n",1055" <td>5.548337</td>\n",1056" <td>2.639057</td>\n",1057" <td>0.672944</td>\n",1058" <td>1.009417</td>\n",1059" <td>1.775939</td>\n",1060" <td>2.663909</td>\n",1061" <td>0.679281</td>\n",1062" </tr>\n",1063" <tr>\n",1064" <th>4</th>\n",1065" <td>1</td>\n",1066" <td>5.548337</td>\n",1067" <td>2.708050</td>\n",1068" <td>0.810930</td>\n",1069" <td>1.216395</td>\n",1070" <td>2.196040</td>\n",1071" <td>3.294060</td>\n",1072" <td>0.986412</td>\n",1073" </tr>\n",1074" <tr>\n",1075" <th>...</th>\n",1076" <td>...</td>\n",1077" <td>...</td>\n",1078" <td>...</td>\n",1079" <td>...</td>\n",1080" <td>...</td>\n",1081" <td>...</td>\n",1082" <td>...</td>\n",1083" <td>...</td>\n",1084" </tr>\n",1085" <tr>\n",1086" <th>103</th>\n",1087" <td>1</td>\n",1088" <td>6.197258</td>\n",1089" <td>2.890372</td>\n",1090" <td>1.175573</td>\n",1091" <td>1.763360</td>\n",1092" <td>3.397844</td>\n",1093" <td>5.096766</td>\n",1094" <td>2.072959</td>\n",1095" </tr>\n",1096" <tr>\n",1097" <th>104</th>\n",1098" <td>1</td>\n",1099" <td>5.622066</td>\n",1100" <td>3.332205</td>\n",1101" <td>2.059239</td>\n",1102" <td>3.088858</td>\n",1103" <td>6.861805</td>\n",1104" <td>10.292707</td>\n",1105" <td>6.360697</td>\n",1106" </tr>\n",1107" <tr>\n",1108" <th>105</th>\n",1109" <td>1</td>\n",1110" <td>6.173703</td>\n",1111" <td>3.295837</td>\n",1112" <td>1.986504</td>\n",1113" <td>2.979755</td>\n",1114" <td>6.547192</td>\n",1115" <td>9.820787</td>\n",1116" <td>5.919295</td>\n",1117" </tr>\n",1118" <tr>\n",1119" <th>106</th>\n",1120" <td>1</td>\n",1121" <td>6.173703</td>\n",1122" <td>3.020425</td>\n",1123" <td>1.435680</td>\n",1124" <td>2.153519</td>\n",1125" <td>4.336362</td>\n",1126" <td>6.504544</td>\n",1127" <td>3.091764</td>\n",1128" </tr>\n",1129" <tr>\n",1130" <th>107</th>\n",1131" <td>1</td>\n",1132" <td>6.356611</td>\n",1133" <td>3.496508</td>\n",1134" <td>2.387845</td>\n",1135" <td>3.581767</td>\n",1136" <td>8.349118</td>\n",1137" <td>12.523677</td>\n",1138" <td>8.552705</td>\n",1139" </tr>\n",1140" </tbody>\n",1141"</table>\n",1142"<p>108 rows × 8 columns</p>\n",1143"</div>"1144],1145"text/plain": [1146" Intercept weight exp1 exp2 exp3 (exp1)(exp2) \\\n",1147"0 1 6.344636 3.091042 1.576915 2.365372 4.874310 \n",1148"1 1 6.439286 3.401197 2.197225 3.295837 7.473194 \n",1149"2 1 5.576782 2.944439 1.283708 1.925562 3.779799 \n",1150"3 1 5.548337 2.639057 0.672944 1.009417 1.775939 \n",1151"4 1 5.548337 2.708050 0.810930 1.216395 2.196040 \n",1152".. ... ... ... ... ... ... \n",1153"103 1 6.197258 2.890372 1.175573 1.763360 3.397844 \n",1154"104 1 5.622066 3.332205 2.059239 3.088858 6.861805 \n",1155"105 1 6.173703 3.295837 1.986504 2.979755 6.547192 \n",1156"106 1 6.173703 3.020425 1.435680 2.153519 4.336362 \n",1157"107 1 6.356611 3.496508 2.387845 3.581767 8.349118 \n",1158"\n",1159" (exp1)(exp3) (exp2)(exp3) \n",1160"0 7.311466 3.729990 \n",1161"1 11.209792 7.241694 \n",1162"2 5.669699 2.471858 \n",1163"3 2.663909 0.679281 \n",1164"4 3.294060 0.986412 \n",1165".. ... ... \n",1166"103 5.096766 2.072959 \n",1167"104 10.292707 6.360697 \n",1168"105 9.820787 5.919295 \n",1169"106 6.504544 3.091764 \n",1170"107 12.523677 8.552705 \n",1171"\n",1172"[108 rows x 8 columns]"1173]1174},1175"execution_count": 341,1176"metadata": {},1177"output_type": "execute_result"1178}1179],1180"source": [1181"A = OLSRegClass( X, y, lista)\n",1182"\n",1183"# Atributo de las variables \n",1184"\n",1185"A.X"1186]1187},1188{1189"cell_type": "code",1190"execution_count": 342,1191"id": "471ae9b4",1192"metadata": {},1193"outputs": [1194{1195"data": {1196"text/plain": [1197"0 0.646864\n",1198"1 0.311720\n",1199"2 0.932252\n",1200"3 0.588392\n",1201"4 1.208932\n",1202" ... \n",1203"103 0.862499\n",1204"104 1.205591\n",1205"105 0.800195\n",1206"106 1.057756\n",1207"107 0.616481\n",1208"Name: ln_lnw, Length: 108, dtype: float64"1209]1210},1211"execution_count": 342,1212"metadata": {},1213"output_type": "execute_result"1214}1215],1216"source": [1217"A.y"1218]1219},1220{1221"cell_type": "code",1222"execution_count": 343,1223"id": "dac40599",1224"metadata": {1225"scrolled": true1226},1227"outputs": [1228{1229"data": {1230"text/html": [1231"<div>\n",1232"<style scoped>\n",1233" .dataframe tbody tr th:only-of-type {\n",1234" vertical-align: middle;\n",1235" }\n",1236"\n",1237" .dataframe tbody tr th {\n",1238" vertical-align: top;\n",1239" }\n",1240"\n",1241" .dataframe thead th {\n",1242" text-align: right;\n",1243" }\n",1244"</style>\n",1245"<table border=\"1\" class=\"dataframe\">\n",1246" <thead>\n",1247" <tr style=\"text-align: right;\">\n",1248" <th></th>\n",1249" <th>Coef.</th>\n",1250" </tr>\n",1251" </thead>\n",1252" <tbody>\n",1253" <tr>\n",1254" <th>Intercept</th>\n",1255" <td>3.188650e+12</td>\n",1256" </tr>\n",1257" <tr>\n",1258" <th>weight</th>\n",1259" <td>2.312000e-01</td>\n",1260" </tr>\n",1261" <tr>\n",1262" <th>exp1</th>\n",1263" <td>-1.384813e+12</td>\n",1264" </tr>\n",1265" <tr>\n",1266" <th>exp2</th>\n",1267" <td>-2.030916e+12</td>\n",1268" </tr>\n",1269" <tr>\n",1270" <th>exp3</th>\n",1271" <td>1.815548e+12</td>\n",1272" </tr>\n",1273" <tr>\n",1274" <th>(exp1)(exp2)</th>\n",1275" <td>-3.750000e-01</td>\n",1276" </tr>\n",1277" <tr>\n",1278" <th>(exp1)(exp3)</th>\n",1279" <td>2.109375e-01</td>\n",1280" </tr>\n",1281" <tr>\n",1282" <th>(exp2)(exp3)</th>\n",1283" <td>4.687500e-02</td>\n",1284" </tr>\n",1285" </tbody>\n",1286"</table>\n",1287"</div>"1288],1289"text/plain": [1290" Coef.\n",1291"Intercept 3.188650e+12\n",1292"weight 2.312000e-01\n",1293"exp1 -1.384813e+12\n",1294"exp2 -2.030916e+12\n",1295"exp3 1.815548e+12\n",1296"(exp1)(exp2) -3.750000e-01\n",1297"(exp1)(exp3) 2.109375e-01\n",1298"(exp2)(exp3) 4.687500e-02"1299]1300},1301"execution_count": 343,1302"metadata": {},1303"output_type": "execute_result"1304}1305],1306"source": [1307"A.reg_beta_OLS() # Resultado del método reg OLS"1308]1309},1310{1311"cell_type": "code",1312"execution_count": 344,1313"id": "42a71d89",1314"metadata": {},1315"outputs": [1316{1317"data": {1318"text/plain": [1319"( Intercept weight exp1 exp2 \\\n",1320" Intercept 3.508713e+12 -0.168439 -1.522627e+12 4.709794e+11 \n",1321" weight -2.256574e-01 0.014918 6.099939e-02 3.769984e-03 \n",1322" exp1 -1.523815e+12 0.036070 6.612683e+11 -2.045437e+11 \n",1323" exp2 3.475491e+11 0.020307 -1.516955e+11 3.695393e+11 \n",1324" exp3 1.295141e+12 -0.039286 -5.617959e+11 1.613982e+11 \n",1325" (exp1)(exp2) -6.459732e+11 0.029641 2.805426e+11 -1.479965e+11 \n",1326" (exp1)(exp3) -1.185471e+10 -0.013791 5.148436e+09 -4.881184e+10 \n",1327" (exp2)(exp3) 2.212517e+11 -0.003710 -9.608841e+10 7.373810e+10 \n",1328" \n",1329" exp3 (exp1)(exp2) (exp1)(exp3) (exp2)(exp3) \n",1330" Intercept 1.202918e+12 -5.229542e+11 -8.942776e+10 2.193859e+11 \n",1331" weight -5.413574e-02 3.587093e-02 -1.022241e-02 -7.564230e-03 \n",1332" exp1 -5.224208e+11 2.271161e+11 3.883798e+10 -9.527808e+10 \n",1333" exp2 8.694858e+10 -9.184224e+10 -6.175452e+10 6.126590e+10 \n",1334" exp3 1.472972e+11 -1.040522e+11 4.016546e+10 1.480289e+10 \n",1335" (exp1)(exp2) -1.160764e+11 1.264719e+11 -3.166655e+10 -2.632402e+10 \n",1336" (exp1)(exp3) 6.386791e+10 -4.541265e+10 1.592478e+10 7.175158e+09 \n",1337" (exp2)(exp3) 6.758192e+09 -1.945097e+10 2.593123e+09 5.187095e+09 ,\n",1338" Std.Err.\n",1339" Intercept 1.873156e+06\n",1340" weight 1.221379e-01\n",1341" exp1 8.131840e+05\n",1342" exp2 6.078975e+05\n",1343" exp3 3.837932e+05\n",1344" (exp1)(exp2) 3.556289e+05\n",1345" (exp1)(exp3) 1.261934e+05\n",1346" (exp2)(exp3) 7.202149e+04,\n",1347" [0.025 0.975]\n",1348" Intercept 3.188646e+12 3.188653e+12\n",1349" weight -8.190362e-03 4.705903e-01\n",1350" exp1 -1.384815e+12 -1.384811e+12\n",1351" exp2 -2.030917e+12 -2.030915e+12\n",1352" exp3 1.815547e+12 1.815549e+12\n",1353" (exp1)(exp2) -6.970329e+05 6.970322e+05\n",1354" (exp1)(exp3) -2.473389e+05 2.473393e+05\n",1355" (exp2)(exp3) -1.411621e+05 1.411622e+05)"1356]1357},1358"execution_count": 344,1359"metadata": {},1360"output_type": "execute_result"1361}1362],1363"source": [1364"A.var_stderrors_cfdinterval() # Matriz de var y cov, sd y confidence interval"1365]1366},1367{1368"cell_type": "code",1369"execution_count": 345,1370"id": "36e9bd53",1371"metadata": {},1372"outputs": [1373{1374"name": "stderr",1375"output_type": "stream",1376"text": [1377"/var/folders/zl/dwjs19r53hv4ng4wbr0b4srm0000gn/T/ipykernel_42554/3219601434.py:152: RuntimeWarning: invalid value encountered in sqrt\n",1378" sd = np.sqrt( np.diag(Var) )\n"1379]1380},1381{1382"data": {1383"text/plain": [1384"( ols standar_error Lower_bound Upper_bound\n",1385" 0 3.188650e+12 NaN NaN NaN\n",1386" 1 2.312000e-01 0.106487 0.022485 0.439915\n",1387" 2 -1.384813e+12 NaN NaN NaN\n",1388" 3 -2.030916e+12 NaN NaN NaN\n",1389" 4 1.815548e+12 NaN NaN NaN\n",1390" 5 -3.750000e-01 0.230666 -0.827105 0.077105\n",1391" 6 2.109375e-01 0.084685 0.044954 0.376921\n",1392" 7 4.687500e-02 0.033553 -0.018889 0.112639,\n",1393" {'Root_MSE': 0.38702207433645885, 'R2': -0.6657433395568355},\n",1394" Intercept weight exp1 exp2 \\\n",1395" Intercept -6.761294e+10 5.069708e+09 1.841976e+10 3.265294e+09 \n",1396" weight -1.705086e-01 1.133951e-02 4.523530e-02 4.516671e-03 \n",1397" exp1 3.542932e+10 -2.201746e+09 -1.090204e+10 -8.479164e+08 \n",1398" exp2 4.109676e+10 -3.229000e+09 -1.081535e+10 -2.044731e+09 \n",1399" exp3 -4.334018e+10 2.886582e+09 1.305646e+10 1.032711e+09 \n",1400" (exp1)(exp2) -3.334106e-01 2.154035e-02 8.960376e-02 7.399946e-03 \n",1401" (exp1)(exp3) 1.562500e-01 -1.001835e-02 -4.223633e-02 -3.082275e-03 \n",1402" (exp2)(exp3) 3.338623e-02 -2.175875e-03 -9.002686e-03 -6.256104e-04 \n",1403" \n",1404" exp3 (exp1)(exp2) (exp1)(exp3) (exp2)(exp3) \n",1405" Intercept -1.649820e+10 1.160032e+10 -3.543179e+09 -2.018624e+09 \n",1406" weight -4.147033e-02 2.783473e-02 -7.845354e-03 -5.283871e-03 \n",1407" exp1 8.904519e+09 -6.238933e+09 1.802301e+09 1.141336e+09 \n",1408" exp2 1.036568e+10 -7.311260e+09 2.116320e+09 1.257054e+09 \n",1409" exp3 -1.095146e+10 7.266514e+09 -1.855335e+09 -1.435356e+09 \n",1410" (exp1)(exp2) -7.962573e-02 5.320682e-02 -1.522332e-02 -1.006715e-02 \n",1411" (exp1)(exp3) 3.710938e-02 -2.502441e-02 7.171631e-03 4.695892e-03 \n",1412" (exp2)(exp3) 8.071899e-03 -5.294800e-03 1.457214e-03 1.125813e-03 )"1413]1414},1415"execution_count": 345,1416"metadata": {},1417"output_type": "execute_result"1418}1419],1420"source": [1421"A.robust_var_se_cfdinterval() # standar error, confidence interval y matriz de var y cov robusta"1422]1423},1424{1425"cell_type": "code",1426"execution_count": 346,1427"id": "5d2fb628",1428"metadata": {},1429"outputs": [1430{1431"data": {1432"text/plain": [1433"(Coef. 0.971815\n",1434" dtype: float64,\n",1435" [0.08105753598082706])"1436]1437},1438"execution_count": 346,1439"metadata": {},1440"output_type": "execute_result"1441}1442],1443"source": [1444"A.R2_rootMSE() # Hallando el R2"1445]1446},1447{1448"cell_type": "code",1449"execution_count": 347,1450"id": "b932a9d9",1451"metadata": {},1452"outputs": [1453{1454"data": {1455"text/plain": [1456"{'Coef.': array([ 3.18864960e+12, 2.31199987e-01, -1.38481293e+12, -2.03091591e+12,\n",1457" 1.81554825e+12, -3.75000000e-01, 2.10937500e-01, 4.68750000e-02]),\n",1458" 'Std.Err.': array([1.87315594e+06, 1.22137933e-01, 8.13184046e+05, 6.07897457e+05,\n",1459" 3.83793156e+05, 3.55628858e+05, 1.26193437e+05, 7.20214900e+04]),\n",1460" '[0.025': array([ 3.18864593e+12, -8.19036164e-03, -1.38481452e+12, -2.03091710e+12,\n",1461" 1.81554750e+12, -6.97032936e+05, -2.47338926e+05, -1.41162073e+05]),\n",1462" '0.975]': array([ 3.18865327e+12, 4.70590336e-01, -1.38481133e+12, -2.03091472e+12,\n",1463" 1.81554900e+12, 6.97032186e+05, 2.47339348e+05, 1.41162167e+05]),\n",1464" 'R2': Coef. 0.971815\n",1465" dtype: float64,\n",1466" 'rootMSE': [0.08105753598082706]}"1467]1468},1469"execution_count": 347,1470"metadata": {},1471"output_type": "execute_result"1472}1473],1474"source": [1475"A.output() # Método final de resultados"1476]1477}1478],1479"metadata": {1480"kernelspec": {1481"display_name": "Python 3 (ipykernel)",1482"language": "python",1483"name": "python3"1484},1485"language_info": {1486"codemirror_mode": {1487"name": "ipython",1488"version": 31489},1490"file_extension": ".py",1491"mimetype": "text/x-python",1492"name": "python",1493"nbconvert_exporter": "python",1494"pygments_lexer": "ipython3",1495"version": "3.9.12"1496}1497},1498"nbformat": 4,1499"nbformat_minor": 51500}150115021503