Aproximación estadística sobre el margen de fiabilidad de datos desde SSRS I

27.04.2014 13:18

El entorno de Business Intelligence de Sql Server incluye algoritmos de análisis predictivo válidos para determinados cálculos. No obstante  hay una gran parte de cálculos estadísticos  interesantes que  pueden realizarse introduciendo en el entorno de reporting services las fórmulas adecuadas.


Veamos un ejemplo:

Necesitamos calcular  el margen de error en la media de satisfacción de una entrevista.a clientes Tenemos una muestra de entrevistados sobre un total de clientes y queremos saber hasta que punto es fiable el dato que nos proporciona la muestra, para ello se nos presentan las siguientes variables


1º El  nivel de confianza o riesgo que aceptamos de equivocarnos al presentar nuestros  resultados: lo que deseamos es que en otras mues tras semejantes los resultados sean los mismos o muy parecidos. También podemos denominarlo  grado o nivel de seguridad. El nivel de confianza habitual es de .05 (α = .05)

 


En resumen significa que el 95 % del resultado que proporcionemos se encontrará en el rango correcto


2º La varianza (o  diversidad de opiniones)  estimada en la población

.

3º El margen de error que es el intervalo entre el cual se encuentra el margen de confianza. Supongamos que la media de nuestro ejemplo es de un 48% y el margen de error de un 6%, por tanto el 95% de la poblacion total de la que es parte la muestra tomada, estaria en un rango entre un 42% y el 54%


4ºEl tamaño total de la población y el tamaño de la muestra que tomamos de base


Veamos ahora como procesar estos datos en sql server.


Para ello generamos dos tablas con datos aleatorios con el siguiente código:


SET

ANSI_NULLS ON

GO



SET

QUOTED_IDENTIFIER ON

GO

IF

  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.iSource') AND type in (N'U'))    

DROP TABLE dbo.iSource;



CREATE

TABLE [dbo].[iSource](


[ID] [int] NULL,


[IDPERCENTSATISF] [decimal](3, 2) NULL

)

ON [PRIMARY]



GO

set

nocount on


declare @count int=1

while @count <=1000


begin

insert

into [dbo].[iSource]


(

id,IDPERCENTSATISF)


values

(@count,round(rand(),2))


set

@count+=1


end

set

nocount off


Este codigo genera una tabla con 1000 registros aleatorios con un identificador y un porcentaje entre  el 0,01 y el 0,99 %. ;El generador aleatorio de sql server (rand) tenderá a generar una media sobre el 50% si realizamos un avg(IDPERCENTSATISF)


continua

https://francescsanchezbi.webnode.es/news/aproximacion-estadistica-sobre-el-margen-de-fiabilidad-de-datos-desde-ssrs-ii/