מודול 7: מקרה בוחן I — מטבעות רומיים ותקנון אימפריאלי

שבוע 7 — מקרי בוחן

רקע ארכאולוגי

מטבעות רומיות: ייצור המוני וזהות אימפריאלית

האימפריה הרומית ייצרה מטבעות בהיקף שאף ציביליזציה קודמת לא הגיעה אליו. במאה ה-2 לספירה בלבד, נטבעו מאות מיליוני דנריים ברחבי האימפריה. כל מטבע נשא את דיוקן הקיסר המולך — פנים שכמעט כל אחד בעולם הרומי ראה.

מטבעות לא היו כסף בלבד. הם היו תעמולה: דימויי כוח אימפריאלי שהסתובבו עד לקצוות העולם המוכר. הדיוקן על צד הפנים היה הצהרה פוליטית מכוונת. חותכי הדייס במנטה האימפריאלית היו אומנים שעבדו בתוך מוסכמות איקונוגרפיות קפדניות.

שני הקיסרים שלנו

הדריאנוס (שלט 117–138 לספירה) - ידוע בנסיעותיו ברחבי האימפריה, חיזוק גבולותיה (חומת הדריאנוס) - דיוקנאות אייקוניים: זקן פילוסופי, לעתים קרובות מוצג עם תכונות יווניות אידיאליזציות - רפורם מטבע: סוגי דיוקן חדשים הוכנסו בנקודות שונות של שלטונו

אנטונינוס פיוס (שלט 138–161 לספירה) - ירש את הדריאנוס; שלטונו ידוע ביציבות - דיוקן בעל אופי רומאי יותר: מגולח בתחילה, לאחר מכן זקן - כמה מהדנריים המעובדים ביותר מבחינה אמנותית בסדרה האימפריאלית

שאלת המחקר

האם מטבעות הדריאנוס ואנטונינוס פיוס מתכנסים בנפרד במרחב הצורות?

שאלות משנה: - האם הבדל הצורה בין הקיסרים גדול משהשונות בתוך כל שלטון? - אילו תכונות צורה ספציפיות (נלכדות על ידי אילו רכיבים עיקריים) מפרידות בצורה הטובה ביותר בין שתי הקבוצות? - מה אומר לנו כל הבדל — או דמיון — על תקנון המנטה?


צינור הניתוח המלא

פתחו את מחברת שבוע 7

שלב 1: טעינת שני מאגרי הנתונים ואיחודם

# טעינת שני מאגרי מטבעות (עם תמיכה בפורמט אירופאי של מספרים עשרוניים)
def read_tps(filepath):
    specimens = []
    current_lms = []
    n_lm = 0
    with open(filepath, 'r') as f:
        for line in f:
            line = line.strip().replace(',', '.')
            if line.startswith('LM='):
                n_lm = int(line.split('=')[1])
                current_lms = []
            elif line.startswith('IMAGE=') or line.startswith('ID='):
                if len(current_lms) == n_lm and n_lm > 0:
                    specimens.append(current_lms)
            elif line and not line.startswith(('SCALE=', 'CURVES=')):
                try:
                    coords = list(map(float, line.split()))
                    if len(coords) == 2:
                        current_lms.append(coords)
                except:
                    pass
    if len(current_lms) == n_lm and n_lm > 0:
        specimens.append(current_lms)
    return np.array(specimens)

hadrian_lms = read_tps("data/coins/DEN_Hadrian/Hadrian.TPS")
aplus_lms   = read_tps("data/coins/DEN_AntoniusPius/AntoniusPius.TPS")

n_had  = hadrian_lms.shape[0]
n_apl  = aplus_lms.shape[0]

# איחוד למערך אחד
all_coins = np.vstack([hadrian_lms, aplus_lms])
labels = ['הדריאנוס'] * n_had + ['אנטונינוס פיוס'] * n_apl

print(f"סה\"כ פרטים: {all_coins.shape[0]}")
print(f"  הדריאנוס: {n_had}, אנטונינוס פיוס: {n_apl}")

שלב 2: GPA על מאגר מאוחד

import morphops
result = morphops.gpa(all_coins)
aligned_all = result['aligned']

שלב 3: PCA עם צביעה לפי קיסר

from sklearn.decomposition import PCA
import pandas as pd

X = aligned_all.reshape(len(all_coins), -1)
pca = PCA()
scores = pca.fit_transform(X)
var_exp = pca.explained_variance_ratio_ * 100

df = pd.DataFrame({
    'PC1': scores[:, 0],
    'PC2': scores[:, 1],
    'קיסר': labels
})

# ציור
fig, ax = plt.subplots(figsize=(9, 7))
colors = {'הדריאנוס': '#2196F3', 'אנטונינוס פיוס': '#E53935'}

for emperor, group in df.groupby('קיסר'):
    ax.scatter(group['PC1'], group['PC2'],
               label=emperor, color=colors[emperor],
               s=60, alpha=0.8, edgecolor='white')

ax.axhline(0, color='gray', linewidth=0.5, linestyle='--')
ax.axvline(0, color='gray', linewidth=0.5, linestyle='--')
ax.set_xlabel(f"PC1 ({var_exp[0]:.1f}%)")
ax.set_ylabel(f"PC2 ({var_exp[1]:.1f}%)")
ax.set_title("מרחב הצורות: הדריאנוס לעומת אנטונינוס פיוס")
ax.legend(title="קיסר", framealpha=0.9)
plt.tight_layout()
plt.show()

שלב 4: בדיקה סטטיסטית — MANOVA בהרשאה

from scipy.spatial.distance import cdist
import numpy as np

def permutation_manova(scores, labels, n_perm=999, n_pcs=5):
    """
    MANOVA מבוסס הרשאה על ציוני רכיבים עיקריים.
    בודק האם צנטרואידי הקבוצות שונים יותר ממה שניתן לצפות במקרה.
    """
    X = scores[:, :n_pcs]
    labels = np.array(labels)
    groups = np.unique(labels)

    # F-statistic נצפה
    grand_mean = X.mean(axis=0)
    ss_between = sum(
        (X[labels == g].mean(axis=0) - grand_mean)**2 * (labels == g).sum()
        for g in groups
    ).sum()
    ss_within = sum(
        ((X[labels == g] - X[labels == g].mean(axis=0))**2).sum()
        for g in groups
    )
    n, k = len(labels), len(groups)
    f_obs = (ss_between / (k - 1)) / (ss_within / (n - k))

    # התפלגות הרשאה
    f_perm = []
    for _ in range(n_perm):
        perm_labels = np.random.permutation(labels)
        ss_b = sum(
            (X[perm_labels == g].mean(axis=0) - grand_mean)**2 * (perm_labels == g).sum()
            for g in groups
        ).sum()
        ss_w = sum(
            ((X[perm_labels == g] - X[perm_labels == g].mean(axis=0))**2).sum()
            for g in groups
        )
        f_perm.append((ss_b / (k - 1)) / (ss_w / (n - k)))

    p_value = (np.sum(np.array(f_perm) >= f_obs) + 1) / (n_perm + 1)
    return f_obs, p_value

f_stat, p_val = permutation_manova(scores, labels)
print(f"MANOVA בהרשאה: F = {f_stat:.3f}, p = {p_val:.3f}")

פרשנות התוצאות

אם הקבוצות נפרדות:

מטבעות שני הקיסרים תופסים אזורים שונים במרחב הצורות. זה יכול להצביע על: - סגנון הדיוקן הובדל בכוונה לפי שלטון - חותכי הדייס שינו את מוסכמותיהם בין השלטונות - סדנאות שונות ייצרו את שתי הסדרות

אם הקבוצות חופפות במידה ניכרת:

שונות הצורה בתוך כל שלטון גדולה יותר מהשונות בין השלטונות. זה יכול להצביע על: - מוסכמות מנטה עקביות שנמשכו בין שלטונות - תקנים איקונוגרפיים חזקים שהוטלו על ידי המנטה המרכזית - פרוטוקול ציוני הדרך שלנו לא לוכד את התכונות שאכן שונות

אף תוצאה אינה “שגויה”:

שתיהן מספרות לנו משהו אמיתי על ארגון המנטה הרומית.


דיון: מה הצורה יכולה ולא יכולה לספר לנו

לניתוח צורת מטבעות יש מגבלות אמיתיות:

  1. אנחנו יכולים למדוד רק מה שאנחנו מדגיטים. אם סגנון הדיוקן שונה בפרטי משטח (מרקם, עומק דוגמנות) אך לא בפרופורציה הכללית, ניתוח ציוני הדרך מחמיץ זאת.

  2. שונות הדייסים בתוך שלטון אחד גדולה. זוגות רבים של דייסים שימשו לכל קיסר. האם המדגם שלנו מספיק גדול כדי לאפיין את הצורה “האופיינית” של כל שלטון?

  3. מה נחשב כ”טיפוס” זהה? הדיוקנאות של הדריאנוס השתנו משמעותית במהלך שלטונו הארוך. האם לפצל לפי טיפוס דיוקן לפני ההשוואה?

אלה אינן סיבות לדחות GM — הן סיבות לתכנן מחקרים בקפידה ולפרש תוצאות בזהירות ראויה.


מטלה 3 מגיעה השבוע

הערה

הגישו קישור למחברת Colab + פרשנות של 500 מילה כ-PDF.

→ מטלה 3: ניתוח צורת מטבעות

→ מודול 8: ניתוח קווי מתאר — ניתוח פורייה אליפטי

קורס מאת שי גורדין | אוניברסיטת אריאל | אביב 2026