function demo_statistical_agent
Demonstrates the capabilities of a statistical agent by testing query interpretation on sample data with various statistical analysis queries.
/tf/active/vicechatdev/full_smartstat/demo.py
181 - 231
moderate
Purpose
This function serves as a demonstration and testing utility for the StatisticalAgent component. It creates a sample dataset summary with multiple columns (Group, Measurement, Quality_Score, Temperature, Humidity) and tests the agent's ability to interpret natural language queries for statistical analysis, including normality tests, group comparisons, and correlation analysis. It's primarily used for development, testing, and showcasing the statistical agent's query interpretation capabilities.
Source Code
def demo_statistical_agent():
"""Demonstrate the statistical agent capabilities"""
print("\nš¤ SmartStat Demo - Statistical Agent")
print("=" * 50)
from statistical_agent import StatisticalAgent
from config import DevelopmentConfig
config = DevelopmentConfig()
agent = StatisticalAgent(config)
# Sample data summary
data_summary = {
'shape': [200, 6],
'column_info': {
'Group': {'dtype': 'object', 'unique_count': 3},
'Measurement': {'dtype': 'float64', 'mean': 100.5},
'Quality_Score': {'dtype': 'float64', 'mean': 85.2},
'Temperature': {'dtype': 'float64', 'mean': 25.0},
'Humidity': {'dtype': 'float64', 'mean': 60.0}
}
}
available_columns = ['Group', 'Measurement', 'Quality_Score', 'Temperature', 'Humidity']
# Test query interpretation
test_queries = [
"Check if measurements are normally distributed",
"Compare quality scores between groups",
"Test correlation between temperature and humidity"
]
for query in test_queries:
print(f"\n Testing query: '{query}'")
try:
result = agent.interpret_user_query(query, data_summary, available_columns)
if result['success']:
plan = result['analysis_plan']
print(f" ā
Analysis type: {plan.get('analysis_type', 'unknown')}")
print(f" Variables: {plan.get('target_variables', [])}")
print(f" Tests: {plan.get('statistical_tests', [])}")
print(f" Confidence: {result.get('confidence', 0):.1f}")
else:
print(f" ā Interpretation failed: {result.get('error', 'Unknown')}")
except Exception as e:
print(f" ā ļø Exception during interpretation: {str(e)}")
print("\nā
Statistical agent demo completed")
Return Value
This function does not return any value (implicitly returns None). It produces console output showing the results of testing three predefined statistical queries, including analysis type, target variables, statistical tests, and confidence scores for each query interpretation.
Dependencies
pandasnumpyjsondatetimesysostraceback
Required Imports
from statistical_agent import StatisticalAgent
from config import DevelopmentConfig
from models import StatisticalSession
from models import DataSource
from models import DataSourceType
from models import AnalysisConfiguration
from models import AnalysisType
from models import DatabaseManager
from services import StatisticalAnalysisService
import pandas as pd
import numpy as np
import json
from datetime import datetime
import sys
import os
import traceback
Conditional/Optional Imports
These imports are only needed under specific conditions:
from statistical_agent import StatisticalAgent
Condition: imported inside the function, required at runtime when function is called
Required (conditional)from config import DevelopmentConfig
Condition: imported inside the function, required at runtime when function is called
Required (conditional)Usage Example
# Simple usage - just call the function
demo_statistical_agent()
# The function will output test results for three queries:
# 1. "Check if measurements are normally distributed"
# 2. "Compare quality scores between groups"
# 3. "Test correlation between temperature and humidity"
# Expected output includes:
# - Analysis type identification
# - Target variables extracted from query
# - Recommended statistical tests
# - Confidence score for interpretation
Best Practices
- This function is intended for demonstration and testing purposes, not for production use
- Ensure all required modules (statistical_agent, config, models, services) are properly implemented before calling
- The function uses hardcoded sample data and queries - modify these for different test scenarios
- Exception handling is included to gracefully handle interpretation failures
- Review console output to verify the statistical agent is correctly interpreting queries
- The data_summary structure should match the expected format for StatisticalAgent.interpret_user_query method
- Consider extending test_queries list to cover additional statistical analysis scenarios
- Ensure DevelopmentConfig is properly configured with any required API keys or database connections
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function demo_analysis_workflow 69.9% similar
-
function main_v61 64.8% similar
-
function main_v62 64.3% similar
-
class StatisticalAgent_v1 61.3% similar
-
class StatisticalAgent 60.8% similar