šŸ” Code Extractor

function demo_statistical_agent

Maturity: 46

Demonstrates the capabilities of a statistical agent by testing query interpretation on sample data with various statistical analysis queries.

File:
/tf/active/vicechatdev/full_smartstat/demo.py
Lines:
181 - 231
Complexity:
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

  • pandas
  • numpy
  • json
  • datetime
  • sys
  • os
  • traceback

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

Similar Components

AI-powered semantic similarity - components with related functionality:

  • function demo_analysis_workflow 69.9% similar

    Demonstrates a complete end-to-end statistical analysis workflow using the SmartStat system, including session creation, data loading, natural language query processing, analysis execution, and result interpretation.

    From: /tf/active/vicechatdev/full_smartstat/demo.py
  • function main_v61 64.8% similar

    Demonstrates a SmartStat SQL workflow by loading a database schema, initializing a SQL query generator, and generating SQL queries from natural language requests with detailed output and metadata.

    From: /tf/active/vicechatdev/full_smartstat/demo_sql_workflow.py
  • function main_v62 64.3% similar

    Demonstrates the SmartStat SQL Workflow by loading a database schema, initializing a SQL query generator, and generating SQL queries from natural language requests for various laboratory data analysis scenarios.

    From: /tf/active/vicechatdev/smartstat/demo_sql_workflow.py
  • class StatisticalAgent_v1 61.3% similar

    LLM-powered statistical analysis agent

    From: /tf/active/vicechatdev/full_smartstat/statistical_agent.py
  • class StatisticalAgent 60.8% similar

    LLM-powered statistical analysis agent

    From: /tf/active/vicechatdev/vice_ai/statistical_agent.py
← Back to Browse