frontier

frontierCost

Descripción

La acción frontierCost se utiliza para analizar modelos de frontera estocástica de costes. Esta técnica econométrica es fundamental para estimar la eficiencia de costes de las unidades productivas, permitiendo distinguir entre desviaciones debidas a la ineficiencia técnica y aquellas causadas por factores aleatorios externos. Soporta distribuciones exponencial, semi-normal (half-normal) y normal truncada para el término de ineficiencia, ofreciendo herramientas robustas para la evaluación del desempeño económico.

frontier.frontierCost <result=results> <status=rc> / bounds={"string-1" <, "string-2", ...>}, class={{countMissing=TRUE | FALSE, descending=TRUE | FALSE, ignoreMissing=TRUE | FALSE, maxLev=integer, order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL", param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE", ref="FIRST" | "LAST" | double | "string", * vars={"variable-name-1" <, "variable-name-2", ...>}} , {...}}, display={caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1" <, "string-2", ...>}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE}, freq="variable-name", includeinternalnames=TRUE | FALSE, initialvalues={"string-1" <, "string-2", ...>}, * model={depVars={{name="variable-name", options={descending=TRUE | FALSE, event="FIRST" | "LAST" | double | "string", levelType="BINARY" | "INTERVAL" | "NOMINAL" | "ORDINAL", order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL", ref="FIRST" | "LAST" | double | "string"}} , {...}}, effects={{interaction="BAR" | "CROSS" | "NONE", maxInteract=integer, nest={"string-1" <, "string-2", ...>}, * vars={"string-1" <, "string-2", ...>}} , {...}}, modelOptions={corrb=TRUE | FALSE, covb=TRUE | FALSE, depVarSummary=TRUE | FALSE, modelLabel="string", noint=TRUE | FALSE, type="EXPONENTIAL" | "HALF" | "TRUNCATED"}}, optimizer={aftl=double, agtl=double, algorithm="CONJUGATEGRADIENT" | "DOUBLEDOGLEG" | "NEWTONRAPHSONWITHLINESEARCH" | "NEWTONRAPHSONWITHRIDGING" | "NONE" | "QUASINEWTON" | "TRUSTREGION", atol=double, axtl=double, ceps=double, covestmethod="CROSSOP" | "HESSIAN" | "QML", ftol=double, gtol=double, iterationHistory={basic=TRUE | FALSE, estimatesForEachStep=TRUE | FALSE, olsEstimates=TRUE | FALSE}, maxf=double, maxit=double, maxtime=double, sing=double, sweepSing=double}, output={casOut={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}}, copyVars="ALL" | "ALL_MODEL" | "ALL_NUMERIC" | {"variable-name-1" <, "variable-name-2", ...>}, pred="string", resid="string", te1="string", te2="string", xbeta="string"}, outputTables={groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>}, repeated=TRUE | FALSE, replace=TRUE | FALSE}, restrictions={"string-1" <, "string-2", ...>}, * table={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string", formattedLength=integer, label="string", * name="variable-name", nfd=integer, nfl=integer} , {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, groupBy={{format="string", formattedLength=integer, label="string", * name="variable-name", nfd=integer, nfl=integer} , {...}}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, * name="table-name", orderBy={{format="string", formattedLength=integer, label="string", * name="variable-name", nfd=integer, nfl=integer} , {...}}, singlePass=TRUE | FALSE, vars={{format="string", formattedLength=integer, label="string", * name="variable-name", nfd=integer, nfl=integer} , {...}}, where="where-expression"}, tests={{* eqns={"string-1" <, "string-2", ...>}, testLabel="string", testNames={"string-1" <, "string-2", ...>}} , {...}}, weight={* name="variable-name", normalize=TRUE | FALSE};
Parámetros
ParámetroDescripción
tableEspecifica la tabla de entrada que contiene los datos de costes y producción a analizar.
modelDefine la estructura del modelo, incluyendo la variable dependiente (coste) y los efectos (variables independientes como precios de insumos y producción).
modelOptionsDentro del parámetro 'model', controla opciones específicas como el tipo de frontera (EXPONENTIAL, HALF, TRUNCATED) y si se incluye un intercepto.
classLista las variables que deben tratarse como variables categóricas o de clasificación.
boundsImpone restricciones de límites simples (cotas inferiores o superiores) a las estimaciones de los parámetros.
restrictionsEspecifica restricciones lineales que deben cumplir las estimaciones de los parámetros.
optimizerControla el proceso de optimización no lineal, incluyendo el algoritmo (ej. Newton-Raphson), criterios de convergencia y límites de iteración.
testsPermite definir y realizar pruebas de hipótesis lineales (Wald, Multiplicador de Lagrange, Razón de Verosimilitud) sobre los parámetros del modelo.
outputEspecifica la creación de una tabla de salida que contenga puntuaciones, valores predichos, residuos y estimaciones de eficiencia técnica.
freqNombre de la variable numérica que representa la frecuencia de observación para cada fila.
weightEspecifica la variable de ponderación para realizar un análisis ponderado.
Creación de Datos de Costes para Análisis de Frontera

Genera un conjunto de datos simulado que representa costes de producción, precios de insumos (labor, capital) y producción total para varias empresas.

¡Copiado!
1 
2DATA casuser.cost_data;
3call streaminit(12345);
4DO i = 1 to 100;
5log_output = rand('Normal', 10, 2);
6log_p_labor = rand('Normal', 5, 0.5);
7log_p_capital = rand('Normal', 4, 0.5);
8inefficiency = abs(rand('Normal', 0, 0.8));
9noise = rand('Normal', 0, 0.2);
10log_cost = 2 + 0.6*log_output + 0.4*log_p_labor + 0.6*log_p_capital + inefficiency + noise;
11OUTPUT;
12END;
13 
14RUN;
15 

Ejemplos

Ajusta un modelo de frontera de costes estocástica simple utilizando una distribución exponencial para la ineficiencia.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3frontier.frontierCost TABLE={name="cost_data"}, model={depVars={{name="log_cost"}}, modelOptions={type="EXPONENTIAL"}, effects={{vars={"log_output", "log_p_labor", "log_p_capital"}}}};
4 
5RUN;
6 
Resultado :
Genera tablas con estimaciones de parámetros, información de ajuste del modelo y estadísticas de optimización asumiendo ineficiencia exponencial.

Ajusta un modelo 'Half-Normal' imponiendo restricciones en los coeficientes de precios (homogeneidad lineal), controla el optimizador y guarda la eficiencia técnica en una tabla de salida.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3frontier.frontierCost TABLE={name="cost_data"}, model={depVars={{name="log_cost"}}, modelOptions={type="HALF", method="QUASINEWTON"}, effects={{vars={"log_output", "log_p_labor", "log_p_capital"}}}}, restrictions={"log_p_labor + log_p_capital = 1"}, optimizer={maxit=100, algorithm="NEWTONRAPHSONWITHRIDGING"}, OUTPUT={casOut={name="efficiency_scores", replace=true}, te1="tech_eff", pred="predicted_cost"};
4 
5RUN;
6 
Resultado :
Produce estimaciones bajo la restricción de que la suma de coeficientes de precios sea 1, utiliza un algoritmo de optimización específico y crea la tabla 'efficiency_scores' con la eficiencia técnica calculada.

FAQ

¿Cuál es el propósito principal de la acción frontierCost?
¿Qué parámetro se utiliza para especificar la tabla de datos de entrada?
¿Cómo se definen las variables dependientes y los efectos del modelo?
¿Es posible incluir variables de clasificación en el análisis?
¿Cómo se pueden imponer restricciones a las estimaciones de los parámetros?
¿Qué tipo de resultados se pueden guardar en la tabla de salida?
¿Se pueden realizar pruebas de hipótesis sobre los parámetros del modelo?
¿Cómo se puede controlar el proceso de optimización del modelo?