Estamos Sozinhos?. As Verdadeiras Probabilidades de Encontrar Alienígenas…

Estamos Sozinhos?. As Verdadeiras Probabilidades de Encontrar Alienígenas...

**********************************;
**********************************;
/* Defina a semente aleatória para reprodutibilidade */
dados _nulos_;
Sua visita nos ajuda a continuar oferecendo o melhor para você! streaminit(1234);
passar;

/* Número de simulações */
%let num_simulações = 100000;

/* Número de civilizações a serem geradas */
%let num_civilizações = 2364;

/* Relâmpago galáctico e fundura em anos-luz */
%deixe raio_galáctico = 50000;
%deixe altura_galáctica = 1300;

/* Posição da Terreno (assumida uma vez que sendo 3/4 do relâmpago galáctico) */
%deixe posição_da_terra_x = &raio_galáctico * 3 / 4;
%deixe posição_da_terra_y = 0;
%deixe posição_da_terra_z = 0;

/* Crie um conjunto de dados para armazenar posições de cultura */
dados posições_civilização;
comprimento Cultura $10.;
ingressão Cultura $ Posição_X Posição_Y Posição_Z;
linhas de dados;
Terreno &posição_da_terra_x &posição_da_terra_y &posição_da_terra_z
;
passar;

/* Gerar posições aleatórias para outras civilizações */
dados posições_civilização;
definir posições_civilização;
faça i = 1 para &num_civilizations;
Posição_X = rand(“Uniforme”) * &raio_galáctico;
Posição_Y = rand(“Uniforme”) * 2 * &altura_galáctica – &altura_galáctica;
Posição_Z = rand(“Uniforme”) * 2 * &altura_galáctica – &altura_galáctica;
Cultura = “Cultura ” || strip(put(i, 8.));
saída;
termo;
soltar eu;
passar;

/* Calcular a intervalo entre as civilizações e a Terreno */
dados distâncias_civilizacionais;
definir posições_civilização;
Intervalo = sqrt((Posição_X – &posição_terrestre_x)**2 + (Posição_Y – &posição_terrestre_y)**2 + (Posição_Z – &posição_terrestre_z)**2);
passar;

/* Calcule a intervalo mínima da Terreno para cada cultura */
proc sql;
produzir tábua civilization_min_distance uma vez que
selecione Cultura, Intervalo uma vez Sua visita nos ajuda a continuar oferecendo o melhor para você! Min_Distance
de distâncias_civilizacionais
ordenar por Intervalo;
desistir;

/* Calcula a verosimilhança de encontrar civilizações com base na intervalo */
probabilidade_de_dados_encontro;
definir civilização_distância_min_;
Verosimilhança = 1 / (1 + Distância_Mínima);
passar;

/* Calcula a verosimilhança média para cada fita de intervalo */
proc sql;
produzir tábua average_probability uma vez que
selecione o caso
quando Min_Distance <= 1000 logo 'Fechar'
quando Min_Distance > 1000 e Min_Distance <= 3000 logo 'Médio'
quando Min_Distance > 3000 logo ‘Longe’
terminar uma vez que Distance_Band,
avg(Verosimilhança) uma vez que Probabilidade_Média
de probabilidade_encontro
grupo por caso
quando Min_Distance <= 1000 logo 'Fechar'
quando Min_Distance > 1000 e Min_Distance <= 3000 logo 'Médio'
quando Min_Distance > 3000 logo ‘Longe’
termo;
desistir;

/* Imprima o resultado */
proc print data=probabilidade_média;
passar;

/* Selecione a cultura mais próxima da Terreno e sua verosimilhança associada */
proc sql;
produzir tábua closer_civilization uma vez que
selecione Cultura, Min_Distance, Verosimilhança
de probabilidade_encontro
onde Min_Distance = (selecione min(Min_Distance) de likelihood_encounter);
desistir;

/* Imprima o resultado */
proc print data=civilização_mais_proxima;
passar;

/*Estudo bayesiana para verosimilhança de encontrar alienígenas no pretérito ou no horizonte*/

/* Definir semente para reprodutibilidade */
%let num_iterações = 100;

/* Produzir conjunto de dados de estudo bayesiana */
dados análise_bayesiana;
invocar streaminit(123);

/* Definir variáveis ​​para probabilidades posteriores */
matriz posterior_passado[&num_iterations];
matriz posterior_future[&num_iterations];

faça i = 1 para &num_iterations;
/* Amostras de probabilidades e verossimilhanças anteriores para encontros passados ​​*/
prior_past = rand(“Uniforme”, 0.0001, 0.01); /* P(Encontro pretérito) */
likelihood_past_encounter = rand(“Uniforme”, 0.001, 0.1); /* P(Nenhum contato | Encontro pretérito) */
likelihood_no_encounter_past = rand(“Uniforme”, 0.8, 0.99); /* P(Nenhum contato | Nenhum encontro) */

/* Calcular verosimilhança ulterior para encontros passados ​​usando o Teorema de Bayes */
numerador_passado = passado_anterior * probabilidade_de_encontro_passado;
denominador_passado = numerador_passado + (1 – passado_anterior) * probabilidade_de_não_encontro_passado;
passado_posterior[i] = numerador_passado / denominador_passado;

/* Exemplar de probabilidades anteriores e probabilidades para encontros futuros */
prior_future = rand(“Uniforme”, 0,001, 0,05); /* P(Encontro horizonte) */
likelihood_future_encounter = rand(“Uniforme”, 0,01, 0,1); /* P(Sem contato | Encontro horizonte) */
likelihood_no_encounter_future = rand(“Uniforme”, 0.8, 0.99); /* P(Nenhum contato | Nenhum encontro) */

/* Calcular verosimilhança ulterior para encontro horizonte usando o Teorema de Bayes */
numerador_futuro = futuro_anterior * probabilidade_de_encontro_futuro;
denominador_futuro = numerador_futuro + (1 – futuro_anterior) * probabilidade_de_não_encontro_futuro;
futuro_posterior[i] = numerador_futuro / denominador_futuro;
termo;

/* Exibe os resultados */
faça i = 1 para &num_iterations;
valor_passado_posterior = passado_posterior[i];
valor_futuro_posterior = futuro_posterior[i];
saída;
termo;
manter valor_passado_posterior valor_futuro_posterior;
passar;

/* Estatísticas resumidas para as probabilidades posteriores */
proc significa dados=análise_bayesiana média padrão min máx;
var valor_passado_posterior valor_futuro_posterior;
passar;

/* Histogramas de distribuição para as probabilidades posteriores */
proc sgplot dados=análise_bayesiana;
histograma posterior_past_value / transparência=0,5 fillattrs=(cor=azul) binwidth=0,00001;
título “Distribuição de Probabilidades Posteriores para Encontros Passados”;
passar;

proc sgplot dados=análise_bayesiana;
histograma posterior_future_value / transparência=0,5 fillattrs=(cor=virente) binwidth=0,0001;
título “Distribuição de Probabilidades Posteriores para Encontros Futuros”;
passar;

Tags:

Crédito: Manancial Original

Sua visita nos ajuda a continuar oferecendo o melhor para você! 100%; display: block; margin: 0 auto;">Facilitando a transição de carreira com uma abordagem clara e objetiva.
Adriano Pina

Adriano Pina

Análise de Sistemas | SEO e Google Ads | Fundador da Loja Script PHP Aqui & Marca Shoslh de tecnologia

Especialista em transformar ideias em soluções digitais e acelerar o crescimento online.

Deixe um comentário

Tem perguntas? Nos envia sua mensagem 24/7!

(17) 99100-0874

Endereço & Contato

Centro, Interior de São Paulo
E-mail: [email protected]

Links Úteis
BAIXAR APP | SCRIPT PHP AQUI
Certificados
0
    0
    Seu carrinho
    Seu carrinho está vazio

    Usamos cookies para garantir que oferecemos a melhor experiência em nosso site. 

       

    X

    Clique em um de nossos representantes abaixo para conversar no WhatsApp ou envie um email para: 📧 [email protected]

    Precisa de ajuda fale conosco?