Conseguir todas las probabilidades de que las personas que votaron por el partido Pᵢ en 2008 voten por el partido Pᵣ en 2013 con regresión lineal

Tengo un conjunto de datos de los precintos y los resultados de los partidos sobre las diferentes elecciones (centrémonos en dos: 2008,2013). Después de leer este artículo realmente quería usar la regresión lineal para responder a la pregunta: ¿cómo cambiaron los votantes de opinión desde las últimas elecciones?

Unnamed: 0  Map Level   Precinct ID Precinct Name   Election    Invalid Ballots (%) More Ballots Than Votes (#) More Votes Than Ballots (#) Total Voter Turnout (#) Total Voter Turnout (%) ... Average votes per minute (17:00-20:00)  CDM ED  FG  GD  LP  NR  UNM Results others 0   0   Precinct    1   63-1    2008 Parliamentary  0.0 0.0 0.0 749 62.11   ... 1.01    0.0 0.0 0.0 0.0 0.0 0.0 77.17   United National Movement    22.83 1   1   Precinct    10  63-10   2008 Parliamentary  0.0 0.0 0.0 419 70.42   ... 0.61    0.0 0.0 0.0 0.0 0.0 0.0 71.12   United National Movement    28.87 ... 136 159 Precinct    8   63-1    2013 Presidential   1.75    0.0 0.0 506 50.75   ... 0.52    2.96    0.20    0.00    0.00    1.19    0.00    0.00    Giorgi Margvelashvili   95.65 137 160 Precinct    9   63-10   2013 Presidential   2.50    0.0 0.0 625 48.04   ... 0.66    1.92    0.80    0.00    0.00    1.60    0.00    0.00    Giorgi Margvelashvili   95.68 

Donde un precinto dado se proporciona en Precinct Name.

Para entender qué votantes cambiaron de opinión se puede construir un modelo muy simple. Usted puede simplificar las elecciones a un sistema de partidos N, eliminando todos los partidos que no sean de su interés (u obtuvieron menos de una cantidad de votos tanto en la primera como en la segunda elección). Entonces, si se asume que todas las personas que votaron de manera similar en 2014, cambiarán de opinión de la misma manera en 2019. Más específicamente, las personas que votaron por el partido Pᵢ en 2008, tienen la misma probabilidad de votar por el partido Pᵣ en 2013. (A esta probabilidad la llamo Xᵢᵣ)

Por lo tanto, para un precinto dado con el fin de “explicar” o “predecir” el número de votos Vᵣ²⁰¹⁹ para el partido Pᵣ en 2013, sobre la base de los resultados de 2008 puedo utilizar las probabilidades Xᵢᵣ de la siguiente manera:

Es una simple regresión lineal. Quiero presentar los resultados de esta regresión lineal en un mapa de calor. Cada una de las celdas en el mapa de calor contiene una de las probabilidades Xᵢᵣ

enter image description here

$ $ V_r^{2013} = \sum_i V_i^{2008}\times X_{ir} $ $

Es una regresión lineal. Así que intenté implementar el modelo en Python

def error(x_i,y_i, beta):     return y_i - predict(x_i, beta)  def squared_error(x_i, y_i, beta):     return error(x_i, y_i, beta)**2  def squared_error_gradient(x_i, y_i, beta):     """the gradient (with respect to beta)     corresponding to the ith squared error term"""     return [-2 * x_ij * error(x_i,y_i, beta)            for x_ij in x_i]  def predict(x_i, beta):     # x_i.insert(0,1)     """assumes that the first element of each x_i is 1"""     return dot(x_i, beta)  def dot(v, w):     """v_1 * w_1 + ... + v_n * w_n"""     return sum(v_i * w_i for v_i, w_i in zip(v, w))  def in_random_order(data):     """generator that returns the elements of data in random order"""     indexes = [i for i, _ in enumerate(data)] # create a list of indexes     random.shuffle(indexes) # shuffle them     for i in indexes: # return the data in that order         yield data[i]  def minimize_stochastic(target_fn, gradient_fn, x, y, theta_0, alpha_0=0.01):     data = zip(x, y)     theta = theta_0 # initial guess     alpha = alpha_0 # initial step size     min_theta, min_value = None, float("inf") # the minimum so far     iterations_with_no_improvement = 0      # if we ever go 100 iterations with no improvement, stop     while iterations_with_no_improvement < 100:         value = sum( target_fn(x_i, y_i, theta) for x_i, y_i in data )         if value < min_value:             # if we've found a new minimum, remember it             # and go back to the original step size             min_theta, min_value = theta, value             iterations_with_no_improvement = 0             alpha = alpha_0         else:             # otherwise we're not improving, so try shrinking the step size             iterations_with_no_improvement += 1             alpha *= 0.9             # and take a gradient step for each of the data points         for x_i, y_i in in_random_order(data):             gradient_i = gradient_fn(x_i, y_i, theta)             theta = vector_subtract(theta, scalar_multiply(alpha, gradient_i))     return min_theta  def estimate_beta(x,y):     beta_initial = [random.random() for x_i in x[0]]     return minimize_stochastic(squared_error,                               squared_error_gradient,                               x,y,                               beta_initial,                               0.001) 

Por ejemplo, digamos que tenemos tres elecciones en 2008 (pres, parlamento y municipal) y una en 2013:

[[0.0, 9.33, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 6.09], [0.0, 0.0, 3.23], [77.17, 63.65, 0.0], [22.83, 27.020000000000003, 97.13]] # each array within this array is the % of people that voted for a party at the 3 elections [0.35, 0.35, 0.0, 0.0, 2.43, 0.0, 0.0, 96.87] # each number is the % of people that voted for a party in 2013  x = results_precinct_election("63-1", 2008) y = results_precinct_election("63-1", 2013) random.seed(0) beta = estimate_beta(x, y) 

Me devuelve :

[0.8444218515250481, 0.7579544029403025, 0.420571580830845] 

Esperaba un número de valores igual al número de partidos

Fijar un parametro para todas las rutas en una aplicacion laravel

tengo “users” logueados en laravel que tienen distintas “accounts”, estos “users” deben seleccionar con que “account” quieren operar en una vista donde con forech se le muestran sus cuentas y se lo dirige al dashboard correspondiente:

<?php    $  companyaccounts = App\User::find((auth()->user()->id))->companyaccounts;    ?> @foreach  ($  companyaccounts as $  account)   <div class="row align-items-center">    <div class="col-auto">       <!-- Avatar -->       <a href="{{ route('Dashboard', [$  account ->id]) }}" class="avatar avatar-4by3">       <img src="{{asset('img/avatars/profiles/avatar-1.jpg')}}" alt="..." class="avatar-img rounded">       </a>    </div>    <div class="col ml-n2">       <!-- Title -->       <h4 class="card-title mb-1">          <a href="{{ route('Dashboard', [$  account ->id]) }}">{{ $  account->business_name}}</a>       </h4>       <!-- Time -->       <p class="card-text small text-muted">          Cuenta Empresa       </p>    </div> </div>  @endforeach  

En la rutas tengo una mejor forma de setear el id de cuenta y mantenerlo hasta que seleccione otra, y no tener que pasar siempre {account_id} por ejemplo.

  Route::group([     'prefix' => 'app/',      'middleware' => 'auth'], function() {        Route::get('{account_id}', function ($  account_id) {        return view ('app.dashboard',['account_id' => $  account_id]);     })->name('Dashboard');       Route::get('{account_id}/money/deposit', 'AccountMoneyController@deposit')->name('moneyDeposit');     Route::get('{account_id}/money/send', 'AccountMoneyController@send')->name('moneySend');    Route::get('{account_id}/money/receive', 'AccountMoneyController@receive')->name('moneyRecive');     Route::get('{account_id}/money/withdraw', 'AccountMoneyController@withdraw')->name('moneyWithdraw');     });  

Se entiende lo que busco, ya que después en todos los controladores sino debo traerme el dato y devolverlo a la vista.

 public function deposit($  account_id)     {         return view('app.money.deposit.index',['account_id' => $  account_id]);     } 

Hay una mejor forma de trabajar con esto, que sea mas simple de la misma manera que se trabaja con el usuario registrado, se puede armar con la cuenta seleccionada, gracias a todos. espero sus sugerencias o comentarios.

Buscando todas as notas fiscais emitidas contra o CNPJ e pelo CNPJ usando o certificado ( .net )

Necessito desenvolver um sistema para buscar todas as NFe emitidas contra o CNPJ X ( no qual possuo o certificado ) e todas as notas emitidas pelo CNPJ ( que tambem possuo o certificado ).

Após algumas pesquisas, descobri que existe um web-service chamado NFeDistribuicaoDFe, que, acredito que atenda a minha necessita, pois bem, encontrei alguns projetos no github que utilizam essa api, como por exemplo:

  • https://github.com/luizhj/DFeDownloader

e decidi testar elas, com quase todas, recebi erro 503 no momento da chamada da URL “https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx?wsdl” ou se não, recebi outros erros em geral.

Para efeitos de comparação baixei um programa chamado fiscal.io ( https://fiscal.io/ ) que faz exatamente o que necessito, que é coletar as notas emitidas pelo CNPJ e contra o CNPJ.

Pois bem, como posso resolver este problema ?

Como posso obter a lista das NFe emitidas contra e pela minha empresa ( incluindo o XML ) ?

Qual API deve ser utilizada para isto ?

Listagem entidade onde todas as relações têm data menor que o dia de hoje

Tenho uma entidade “Evento” que pode estar relacionada com várias entidades “Tarefas”, e cada tarefa tem uma data de execução.

Exemplo:

Evento X tem 3 Tarefas ( A, B e C) cada tarefa tem uma data de execução A – 14/06/2019 B – 15/06/2019 C – 16/06/2019

Preciso de fazer uma listagem de todos os Eventos no qual todas as Tarefas associadas a esse Evento já tenham passado a data de execução, ou seja, todas as Tarefas têm de ter data inferior à data 17/06/2019, caso exista uma Tarefa associada com uma data igual ao dia 17 ou superior esse Evento não poderá ser considerado para listagem.

Tentei com este trecho de código mas sem sucesso:

$  events = \App\Entities\Event::where('state_id', \App\Entities\Event::PROCESSADO)->doesnthave('tasks', function($  query){     $  query->whereDate('date', '>', \Carbon\Carbon::today()); })->get(); 

Cerrar ultima imagen cuando se hayan visto todas

Quisiera lograr que cuando todas las imagenes se hayan visto y se esté visualizando la última, al acabar el tiempo se cierre todo. ¿qué le añado al codigo para alcanzar lo que busco?

let historyElements= [ 'imagen1','imagen2','imagen3'];  for (let i=0;i < historyElements.length; i++) {   setTimeout(openHistory,1000 * i,historyElements[i]); }  function openHistory(historyName) {   let x = document.getElementsByClassName("history");   for (let i = 0; i < x.length; i++) {     x[i].style.display = "none";     }   document.getElementById(historyName).style.display = "block";   }
body{ margin: 0; }
<img id="imagen1" class="history" src="https://www.wampstore.com/store/image/cache/data/Wamp/Products/Vallejo/Flat%20Red-900x900.jpg">  <img id="imagen2" class="history" src="https://cdn.shopify.com/s/files/1/1218/4290/products/Solid-129-Purple_1400x.jpg?v=1464824795">  <img id="imagen3" class="history" src="https://www.wampstore.com/store/image/cache/data/Wamp/Products/Vallejo/Deep%20Sky%20Blue-900x900.jpg">

como corregir el error “ me hace un update a todas las tuplas y solo necesito a un registro”

requiero hacer un update a la consulta que aparece, pero el resultado que me obtengo, es un update a todas las tuplas de la tabla tiempo, me podrian colaborar para corregir ese error.

 WITH data (_vehiculo, _reloj, turno, fecha) AS (  VALUES(7018, 2, 1, '2019-05-28'::DATE)  )   ,data_tiempo AS (   SELECT   d._vehiculo  ,rr.nombre_reloj  ,r.id_ruta  ,t.create_at  ,t.id_turnos  FROM data d  INNER JOIN turnos t   ON d.turno = t.numero_turno     INNER JOIN rutas r          ON  t.id_ruta = r.id_ruta     INNER JOIN ruta_relojes rr_j          ON r.id_ruta = rr_j.id_ruta     INNER JOIN relojes rr         ON rr_j.id_reloj = rr.id_reloj     WHERE TRUE     AND t.numero_turno = turno     AND t.vehiculo = _vehiculo     AND rr.id_reloj = _reloj     AND t.create_at::DATE = fecha      )    UPDATE tiempos     SET t.tiempo_marcada = '10:00'    FROM data_tiempo d_t